CN109635019B - 请求处理方法、装置、设备及存储介质 - Google Patents
请求处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109635019B CN109635019B CN201811246136.5A CN201811246136A CN109635019B CN 109635019 B CN109635019 B CN 109635019B CN 201811246136 A CN201811246136 A CN 201811246136A CN 109635019 B CN109635019 B CN 109635019B
- Authority
- CN
- China
- Prior art keywords
- request
- interface
- protocol type
- path
- service
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开一种请求处理方法、装置、设备及存储介质,该方法包括:接收接口调用请求,获取接口调用请求对应的请求协议类型,并检测请求协议类型是否属于预设协议类型集;在请求协议类型属于预设协议类型集时,读取接口调用请求中包含的请求路径;在数据库中查找请求路径对应的业务逻辑对象,并将接口调用请求发送至业务逻辑对象,本发明请求处理方法在接收到任何请求时,先检测请求对应的请求协议类型是否属于预设协议类型集,若是则根据请求中包含的请求路径来确定后续进行请求处理的业务逻辑对象,相较于现有的一对一映射的请求响应方式,能够有效避免单独的某种协议数据传输出错时导致的响应阻塞,提高了请求处理容错性以及处理效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种请求处理方法、装置、设备及存储介质。
背景技术
目前,随着互联网技术的快速发展,很多业务覆盖面较广的互联网企业都会设计相应的业务管理平台来对与业务相关的物理/虚拟资源、业务资源进行统一管理。这类业务管理平台一般采用表述性状态传递(Representational State Transfer,REST)软件架构风格实现,所有功能都是通过REST接口提供,关联的外部***或第三方使用者都是通过不同传送协议(例如HTTP或 HTTPS)对业务管理平台所在的主***进行接口调用,以获取相应的资源。但实际上,由于关联的外部***所涉及的业务各不相同,发送接口调用请求时所使用的协议类型方式也各有差异。针对这类问题,平台开发人员通常是采用“一对一”的映射方式来保证主***对各类请求调用的正常响应,但这种方式的缺陷在于在面对大批量、高并发且协议类型各不相同的调用请求时,处理效率过于缓慢,容易造成数据阻塞导致响应不及时,增加了***宕机的风险与不稳定性。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种请求处理方法、装置、设备及存储介质,旨在解决现有技术在面对大量不同协议类型的调用请求时,处理效率过于缓慢,响应不及时的技术问题。
为实现上述目的,本发明提供了一种请求处理方法,所述方法包括以下步骤:
接收接口调用请求,获取所述接口调用请求对应的请求协议类型,并检测所述请求协议类型是否属于预设协议类型集;
在所述请求协议类型属于所述预设协议类型集时,读取所述接口调用请求中包含的请求路径;
在数据库中查找所述请求路径对应的业务逻辑对象,并将所述接口调用请求发送至所述业务逻辑对象。
优选地,所述在数据库中查找所述请求路径对应的业务逻辑对象的步骤之前,所述方法还包括:
读取所述请求路径中包含的接口参数,根据所述接口参数中包含的业务标识以及接口标识确定对象查询参数;
所述在数据库中查找所述请求路径对应的业务逻辑对象的步骤,包括:
在数据库存储的映射关系中查找所述对象查询参数对应的业务逻辑对象,所述映射关系中存放有对象查询参数和业务逻辑对象之间的对应关系。
优选地,所述根据所述接口参数中包含的业务标识以及接口标识确定对象查询参数的步骤,包括:
读取所述接口参数中包含的业务标识以及接口标识,根据预先建立的业务逻辑树形结构查找所述业务标识对应的目标结点;
获取所述目标结点对应的接口路径集,根据所述接口标识从所述接口路径集中确定出目标路径,并将所述目标路径作为对象查询参数。
优选地,所述接收接口调用请求,获取所述接口调用请求对应的请求协议类型,并检测所述请求协议类型是否属于预设协议类型集的步骤之前,所述方法还包括:
获取待分类的业务对象,采用面向切面编程技术对所述业务对象进行业务逻辑分类,获得若干个业务逻辑对象;
读取所述业务逻辑对象中携带的业务标识,根据读取到的业务标识确定所述业务逻辑对象所属的业务类别;
以各业务逻辑对象对应的业务标识为子结点、所述业务类别为父结点,建立业务逻辑树形结构。
优选地,所述接收接口调用请求,获取所述接口调用请求对应的请求协议类型的步骤,包括:
在接收接口调用请求时,拦截所述接口调用请求,并对所述接口调用请求进行跨域访问检测;
在检测到所述接口调用请求属于跨域访问请求时,获取所述接口调用请求对应的请求协议类型。
优选地,所述接收接口调用请求,对所述接口调用请求进行跨域访问检测的步骤,包括:
接收接口调用请求,获取所述接口调用请求对应的请求路径,从所述请求路径中读取域名字段以及端口字段;
检测所述域名字段与本地域名对应的域名字段是否相同,和/或检测所述端口字段与本地端口对应的端口字段是否相同;
若所述域名字段与本地域名对应的域名字段不相同,和/或所述端口字段与本地端口对应的端口字段不相同,则判定所述接口调用请求属于跨域访问请求。
优选地,所述接收接口调用请求,对所述接口调用请求进行跨域访问检测的步骤之后,所述方法还包括:
在检测到所述接口调用请求不属于跨域访问请求时,获取所述接口调用请求中包含的请求参数和请求路径;
根据所述请求路径确定待调用目标接口,将所述请求参数发送至所述待调用目标接口对应的目标业务逻辑对象,以使所述目标业务逻辑对象根据所述请求参数获取出参数据并反馈所述出参数据。
此外,为实现上述目的,本发明还提出一种请求处理装置,所述装置包括:
请求接收模块,用于接收接口调用请求,获取所述接口调用请求对应的请求协议类型,并检测所述请求协议类型是否属于预设协议类型集;
协议检测模块,用于在所述请求协议类型属于所述预设协议类型集时,读取所述接口调用请求中包含的请求路径;
对象查找模块,用于在数据库中查找所述请求路径对应的业务逻辑对象,并将所述接口调用请求发送至所述业务逻辑对象。
此外,为实现上述目的,本发明还提出一种请求处理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的请求处理程序,所述请求处理程序配置为实现如上文所述的请求处理方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有请求处理程序,所述请求处理程序被处理器执行时实现如上文所述的请求处理方法的步骤。
本发明通过接收接口调用请求,获取接口调用请求对应的请求协议类型,并检测请求协议类型是否属于预设协议类型集;在请求协议类型属于预设协议类型集时,读取接口调用请求中包含的请求路径;在数据库中查找请求路径对应的业务逻辑对象,并将接口调用请求发送至业务逻辑对象,本发明请求处理方法在接收到任何请求时,先检测请求对应的请求协议类型是否属于预设协议类型集,若是则根据请求中包含的请求路径来确定后续进行请求处理的业务逻辑对象,相较于现有的一对一映射的请求响应方式,能够有效避免单独的某种协议数据传输出错时导致的响应阻塞,提高了请求处理容错性以及处理效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的请求处理设备的结构示意图;
图2为本发明请求处理方法第一实施例的流程示意图;
图3为本发明请求处理方法第二实施例的流程示意图;
图4为本发明请求处理方法第二实施例中业务逻辑树形结构示意图;
图5为本发明请求处理方法第三实施例的流程示意图;
图6为本发明请求处理装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的请求处理设备结构示意图。
如图1所示,该请求处理设备可以包括:处理器1001,例如中央处理器 (CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004 可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity, WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对请求处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及请求处理程序。
在图1所示的请求处理设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明请求处理设备中的处理器1001、存储器1005可以设置在请求处理设备中,所述请求处理设备通过处理器1001调用存储器1005中存储的请求处理程序,并执行本发明实施例提供的请求处理方法。
本发明实施例提供了一种请求处理方法,参照图2,图2为本发明请求处理方法第一实施例的流程示意图。
本实施例中,所述请求处理方法包括以下步骤:
步骤S10:接收接口调用请求,获取所述接口调用请求对应的请求协议类型,并检测所述请求协议类型是否属于预设协议类型集;
需要说明的是,本实施例方法的执行主体可以是预先开发的用于响应外部***发送的调用请求的主***,该主***可以是一种对外输出数据的通道,输出对象为与其连接的第三方外部***或关联***。
应理解的是,所述请求协议类型可以是接口调用请求对应的网络传输协议或传送协议的协议类型,本实施例中,所述请求协议类型包括但不限于:超文本传输协议(HyperText Transfer Protocol,HTTP)、用于安全数据传输的超文本传输协议(HyperTextTransfer Protocol over Secure Socket Layer,HTTPS)、企业服务总线(EnterpriseService Bus,ESB)、EJB(Enterprise JavaBean,一种用于开发基于组件的企业多重应用程序的标准)等。
此外,在执行本步骤之前,开发人员可根据各类协议的标准或原理不同,将标准或原理相同或相近的传送协议归为一类,例如,本实施例中可将HTTP、 HTTPS类型的协议统一归类为HTTP类并构建所述预设协议类型集;将协议标准或原理为对象映射原理的协议(例如,ESB协议、EJB协议)归类为另一类并建立第二协议类型集,从而使得主***在接收到各类请求时,可以先根据请求协议类型的不同对协议进行拦截并分流,然后对分流后的请求进行请求对象的分配,避免了某一种协议的数据传输出错时导致的响应阻塞,提高了请求处理容错性以及处理效率。
在具体实现中,主***在接收到某一关联***发送的接口调用请求时,对该接口调用请求进行解析,然后根据解析结果获取请求对应的请求协议类型,再检测所述请求协议类型是否为属于所述预设协议类型集,若属于则执行步骤S20,若不属于,则判定为第二协议类型集并执行预设的所述第二协议类型集对应的请求响应操作。
步骤S20:在所述请求协议类型属于所述预设协议类型集时,读取所述接口调用请求中包含的请求路径;
应理解的是,所述请求路径可以是接口调用请求中包含的统一资源定位符(Uniform Resource Locator,URL),例如:本步骤中所述请求路径为htt ps://www.xxx.xx/sysName/productName/mehodName/interfaceName/[...]。请求路径中可以包含待调用接口的接口标识“interfaceName”以及待调用接口对应的业务标识“sysName/productName/methodName”,例如“sysName”为insuran ce(保险)或bank(银行);“productName”为“Life Insurance”(寿险)或“Property Insurance”(产险);“methodName”为“Property Insurance Detail s”(产险详情)等,在实际过程中,主***可根据接口调用请求中包含的请求路径来确定对该接口调用请求进行响应的业务逻辑对象。
需要说明的是,在执行本步骤之前,开发人员可预先将所述预设协议类型集对应的网关接口匹配模式设置为:模糊、可变长匹配来对接收到的请求进行初步筛选;所谓模糊,即对接口调用请求携带的请求参数不作具体限制,无论传入何种参数只要主***还能正常对外提供服务均可对请求进行响应;所述可变长匹配,即可变长参数匹配,所述可变长参数是一种参数集合,在集合中参数的数量的不确定的,可能为一个或者多个,也可能没有参数;在这个参数集合中的每个参数类型是不确定的,其表现形式一般如上述请求路径中的“[...]”所示。
在具体实现中,主***在检测到接口调用请求对应的请求协议类型属于预设协议类型集时,读取接口调用请求中包含的请求路径。
进一步地,本实施例中若主***在检测到接口调用请求对应的请求协议类型不属于所述预设协议类型集时,判定所述请求协议类型属于第二协议类型集,并将所述接口调用请求映射至预设公共协议管理模块,以使所述公共协议管理模块根据接口调用请求中包含的接口标识(例如接口名称、接口编号)将请求直接分发至对应的业务逻辑对象,由业务逻辑对象对请求进行处理。
步骤S30:在数据库中查找所述请求路径对应的业务逻辑对象,并将所述接口调用请求发送至所述业务逻辑对象。
应理解的是,所述业务逻辑对象可以是开发人员根据第三方外部***涉及的不同业务的业务流程而编写的业务逻辑类,所谓类,即面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础,一种用户定义类型,也称类类型,每个类包含数据说明和一组操作数据或传递消息的函数,类的实例称为对象。所述业务逻辑对象可以根据请求路径中携带的请求参数获取对应的出参数据并反馈至请求发起方。
需要说明的是,在执行本步骤之前,开发人员可先将针对第三方外部***或关联***编写的业务逻辑代码/对象按照业务类型的不同进行分类,例如按照银行、保险、互联网、投资等业务类型将所有针对第三方外部***编写的代码进行分类,然后对分类后的逻辑代码/对象进行分层。例如,可将保险业务对应的业务逻辑对象分为寿险、养老险以及产险等逻辑对象,每一类逻辑对象中包含的方法(method)或函数也可以根据接口属性或定义的不同继续划分,例如,产险逻辑对象中包含产险自动加挂和资产查询接口以及产险详情接口,而产险自动加挂和资产查询接口又可以分为:产险自动加挂和资产查询接口-正常资产查询、产险自动加挂和资产查询接口-clientNo为空、产险自动加挂和资产查询接口-partyNo为空、产险自动加挂和资产查询接口-serviceId为空等。
在具体实现中,主***在获取到接口调用请求中包含的请求路径后,可在存储有业务逻辑对象的数据库中查找所述请求路径对应的业务逻辑对象,然后将接口调用请求发送至查找到的业务逻辑对象,由其对接口调用请求进行响应。
本实施例通过接收接口调用请求,获取接口调用请求对应的请求协议类型,并检测请求协议类型是否属于预设协议类型集;在请求协议类型属于预设协议类型集时,读取接口调用请求中包含的请求路径;在数据库中查找请求路径对应的业务逻辑对象,并将接口调用请求发送至业务逻辑对象,本实施例提供的请求处理方法在接收到任何请求时,先检测请求对应的请求协议类型是否属于预设协议类型集,若是则根据请求中包含的请求路径来确定后续进行请求处理的业务逻辑对象,相较于现有的一对一映射的请求响应方式,能够有效避免单独的某种协议数据传输出错时导致的响应阻塞,提高了请求处理容错性以及处理效率。
参考图3,图3为本发明请求处理方法第二实施例的流程示意图。
基于上述第一实施例,本实施例请求处理方法,在所述步骤S30之前还包括:
步骤S201:读取所述请求路径中包含的接口参数,根据所述接口参数中包含的业务标识以及接口标识确定对象查询参数;
应理解的是,所述接口参数可以是请求路径中的虚拟目录部分和/或文件名部分对应的数据,例如“/sysName/productName/mehodName/interfaceName/ [...]”;所述业务标识可以是能够将不同的业务进行区分的业务特征信息,例如,“/sysName/productName/”业务名称/项目名称、或业务编号/项目编号,所述接口标识可以是能够将不同的接口进行区分的接口特征信息,例如,“/i nterfaceName/”接口名称、接口编号等。
在具体实现中,主***可读取所述接口参数中包含的业务标识以及接口标识,根据预先建立的业务逻辑树形结构查找所述业务标识对应的目标结点;获取所述目标结点对应的接口路径集,根据所述接口标识从所述接口路径集中确定出目标路径,并将所述目标路径作为对象查询参数。
其中,所述对象查询参数即业务逻辑对象的查询依据,所述业务逻辑树形结构可以是根据不同业务的业务特点及业务类型构建的,具有层级关系的数据结构,本实施例的业务逻辑树形结构可如图4所示,图4为本发明请求处理方法第二实施例中业务逻辑树形结构示意图。
图4所示的业务逻辑树形结构中,总业务为根结点;银行、保险、互联网以及投资等为父结点,每一类父结点又可以包括一个或多个子结点如“橙子银行、产险、寿险”等,当然本实施例中的父结点或子结点也可以是所在分支上的叶子结点或终端结点。
在实际应用中,开发人员可以为树形结构中的叶子结点(终端结点)配置相应的接口路径集,例如为父节点“产险”对应的叶子结点“产险自动加挂和资产查询接口”配置相应的接口路径集{产险自动加挂和资产查询接口- 正常资产查询、产险自动加挂和资产查询接口-clientNo为空、产险自动加挂和资产查询接口-partyNo为空、产险自动加挂和资产查询接口-serviceId为空……产险自动加挂和资产查询接口-资产返回值为空或null},以使主***可根据接口参数中包含的接口标识从路径集中确定出目标路径,并将所述目标路径作为对象查询参数。
相应地,本实施例中所述步骤S30,可具体包括:
步骤S30′:在数据库存储的映射关系中查找所述对象查询参数对应的业务逻辑对象,将所述接口调用请求发送至所述业务逻辑对象。
应理解的是,为提高请求响应效率,开发人员可在主***中预先建立一个对象查询参数和业务逻辑对象之间的对应关系,即所述映射关系,以使主***在确定出对象查询参数后,实现对业务逻辑对象的快速确定。
进一步地,本实施例请求处理方法在所述步骤S10之前,还包括:
步骤:获取待分类的业务对象,采用面向切面编程技术对所述业务对象进行业务逻辑分类,获得若干个业务逻辑对象;
需要说明的是,所述业务对象可以是针对第三方外部***或关联***编写的业务逻辑代码/对象,所述面向切面编程(Aspect Oriented Programming, AOP)技术,可以用来对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,本实施例中主***可通过AOP技术按照不同的业务类别对业务对象进行业务逻辑分类,获得若干个业务逻辑对象。
步骤:读取所述业务逻辑对象中携带的业务标识,根据读取到的业务标识确定所述业务逻辑对象所属的业务类别;
可理解的是,在获取到业务逻辑对象后,主***可读取各业务逻辑对象中携带的业务标识,例如业务名称、编号等,然后根据读取到的业务标识确定业务逻辑对象所属的业务类别,如根据业务逻辑对象中携带的业务标识“产险”可确定该业务逻辑对象所属的业务类别为“保险”。
步骤:以各业务逻辑对象对应的业务标识为子结点、所述业务类别为父结点,建立业务逻辑树形结构。
在具体实现中,主***可以各业务逻辑对象对应的业务标识(例如“产险”、“寿险”)为子结点、所述业务类别(例如保险)为父结点建立业务逻辑树形结构,以便后续根据该业务逻辑属性结构获取接口调用请求对应的接口路径集,进一步提高请求的处理效率。
本实施例通过读取请求路径中包含的接口参数,根据接口参数中包含的业务标识以及接口标识确定对象查询参数,在数据库存储的映射关系中查找对象查询参数对应的业务逻辑对象,将接口调用请求发送至业务逻辑对象,能够实现对业务逻辑对象的准确查找,进一步提高请求处理效率。
参考图5,图5为本发明请求处理方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S10可具体包括:
步骤S101:在接收接口调用请求时,拦截所述接口调用请求,并对所述接口调用请求进行跨域访问检测;
应理解的是,实际应用中,主***接收到的接口调用请求可能由第三方外部***发送,也可能由主***对应的前端应用程序或子***发送,本实施例中,为保证主***的信息安全和结构安全,主***在接收到任何请求时都将对请求进行跨域访问检测,以保证请求处理的安全性。通常情况下,当两个域具有相同的协议(如HTTP),相同的端口(如80),相同的host(如 www.***.com),则认为它们是相同的域(即协议,域名,端口都必须相同)。
在具体实现中,主***可接收接口调用请求,获取所述接口调用请求对应的请求路径,从所述请求路径中读取域名字段以及端口字段;检测所述域名字段与本地域名对应的域名字段是否相同,和/或检测所述端口字段与本地端口对应的端口字段是否相同;若所述域名字段与本地域名对应的域名字段不相同,和/或所述端口字段与本地端口对应的端口字段不相同,则判定所述接口调用请求属于跨域访问请求。
应理解的是,URL地址中一般包括协议、域名、端口、虚拟目录、文件名、锚和参数几个部分,本实施例中所述域名字段,即URL地址中域名部分对应的字符数据;所述端口字段即URL地址中位于域名字段后的字符数据,域名和端口之间使用“:”作为分隔符。此外,端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口。
可理解的是,所述本地域名可以是主***对应的本机域名,该域名可以由开发人员根据主***对应的网络协议(Internet Protocol,IP)地址进行配置;所述本地端口可以是开发人员预先设定的,用于检测跨域访问主***本机端口。
步骤S102:在检测到所述接口调用请求属于跨域访问请求时,获取所述接口调用请求对应的请求协议类型。
在具体实现中,主***在检测到接口调用请求属于跨域访问请求时,获取所述接口调用请求对应的请求协议类型(例如HTTP、HTTPS等),然后检测所述请求协议类型是否属于预设协议类型集。
进一步地,在本实施例中,若主***在检测到所述接口调用请求不属于跨域访问请求时,获取所述接口调用请求中包含的请求参数和请求路径;根据所述请求路径确定待调用目标接口,将所述请求参数发送至所述待调用目标接口对应的目标业务逻辑对象,以使所述目标业务逻辑对象根据所述请求参数获取出参数据并反馈所述出参数据。
需要说明的是,所述请求参数可以是接口调用请求中携带的输入参数(即入参数据),业务逻辑对象可根据该输入参数获取对应的输出参数(即出参数据),并将该出参数据反馈至请求发起方。
本实施例通过在接收接口调用请求时,拦截所述接口调用请求,并对接口调用请求进行跨域访问检测,在检测到接口调用请求属于跨域访问请求时,获取接口调用请求对应的请求协议类型,本实施例通过对接收到的请求进行跨域访问检测能够保证主***的信息安全及结构安全,保证了主***的稳定性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有请求处理程序,所述请求处理程序被处理器执行时实现如上文所述的请求处理方法的步骤。
参照图6,图6为本发明请求处理装置第一实施例的结构框图。
如图6所示,本发明实施例提出的请求处理装置包括:
请求接收模块501,用于接收接口调用请求,获取所述接口调用请求对应的请求协议类型,并检测所述请求协议类型是否属于预设协议类型集;
协议检测模块502,用于在所述请求协议类型属于所述预设协议类型集时,读取所述接口调用请求中包含的请求路径;
对象查找模块503,用于在数据库中查找所述请求路径对应的业务逻辑对象,并将所述接口调用请求发送至所述业务逻辑对象。
本实施例通过接收接口调用请求,获取接口调用请求对应的请求协议类型,并检测请求协议类型是否属于预设协议类型集;在请求协议类型属于预设协议类型集时,读取接口调用请求中包含的请求路径;在数据库中查找请求路径对应的业务逻辑对象,并将接口调用请求发送至业务逻辑对象,本实施例提供的请求处理方法在接收到任何请求时,先检测请求对应的请求协议类型是否属于预设协议类型集,若是则根据请求中包含的请求路径来确定后续进行请求处理的业务逻辑对象,相较于现有的一对一映射的请求响应方式,能够有效避免单独的某种协议数据传输出错时导致的响应阻塞,提高了请求处理容错性以及处理效率。
基于本发明上述请求处理装置第一实施例,提出本发明请求处理装置的第二实施例。
在本实施例中,所述请求处理装置还包括参数确定模块,用于读取所述请求路径中包含的接口参数,根据所述接口参数中包含的业务标识以及接口标识确定对象查询参数;相应地,所述对象查找模块503,还用于在数据库存储的映射关系中查找所述对象查询参数对应的业务逻辑对象,所述映射关系中存放有对象查询参数和业务逻辑对象之间的对应关系。
进一步地,所述参数确定模块,还用于读取所述接口参数中包含的业务标识以及接口标识,根据预先建立的业务逻辑树形结构查找所述业务标识对应的目标结点;获取所述目标结点对应的接口路径集,根据所述接口标识从所述接口路径集中确定出目标路径,并将所述目标路径作为对象查询参数。
进一步地,本实施例中所述请求处理装置还包括:树形结构模块,用于获取待分类的业务对象,采用面向切面编程技术对所述业务对象进行业务逻辑分类,获得若干个业务逻辑对象;读取所述业务逻辑对象中携带的业务标识,根据读取到的业务标识确定所述业务逻辑对象所属的业务类别;以各业务逻辑对象对应的业务标识为子结点、所述业务类别为父结点,建立业务逻辑树形结构。
进一步地,请求接收模块501,还用于在接收接口调用请求时,拦截所述接口调用请求,并对所述接口调用请求进行跨域访问检测;在检测到所述接口调用请求属于跨域访问请求时,获取所述接口调用请求对应的请求协议类型。
进一步地,请求接收模块501,还用于接收接口调用请求,获取所述接口调用请求对应的请求路径,从所述请求路径中读取域名字段以及端口字段;检测所述域名字段与本地域名对应的域名字段是否相同,和/或检测所述端口字段与本地端口对应的端口字段是否相同;若所述域名字段与本地域名对应的域名字段不相同,和/或所述端口字段与本地端口对应的端口字段不相同,则判定所述接口调用请求属于跨域访问请求。
进一步地,所述对象查找模块503,还用于在检测到所述接口调用请求不属于跨域访问请求时,获取所述接口调用请求中包含的请求参数和请求路径;根据所述请求路径确定待调用目标接口,将所述请求参数发送至所述待调用目标接口对应的目标业务逻辑对象,以使所述目标业务逻辑对象根据所述请求参数获取出参数据并反馈所述出参数据。
本发明请求处理装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种请求处理方法,其特征在于,所述方法包括:
接收接口调用请求,获取所述接口调用请求对应的请求协议类型,并检测所述请求协议类型是否属于预设协议类型集;
在所述请求协议类型属于所述预设协议类型集时,读取所述接口调用请求中包含的请求路径;
在数据库中查找所述请求路径对应的业务逻辑对象,并将所述接口调用请求发送至所述业务逻辑对象;
其中,所述在数据库中查找所述请求路径对应的业务逻辑对象的步骤之前,所述方法还包括:
读取所述请求路径中包含的接口参数,并获取所述接口参数中包含的业务标识以及接口标识,根据预先建立的业务逻辑树形结构查找所述业务标识对应的目标结点,其中,所述接口参数包括请求路径中的虚拟目录数据和/或文件名数据;
获取所述目标结点对应的接口路径集,根据所述接口标识从所述接口路径集中确定出目标路径,并将所述目标路径作为对象查询参数;
其中,所述在数据库中查找所述请求路径对应的业务逻辑对象的步骤,包括:
在数据库存储的映射关系中查找所述对象查询参数对应的业务逻辑对象,所述映射关系中存放有对象查询参数和业务逻辑对象之间的对应关系;
其中,所述检测所述请求协议类型是否属于预设协议类型集之后,还包括:
若不属于预设协议类型集,则判定所述请求协议类型为第二协议类型集;
根据所述第二协议类型集将所述接口调用请求映射至预设公共协议管理模块,以使所述预设公共协议管理模块根据所述接口调用请求中包含的接口标识将所述接口调用请求分发至对应的业务逻辑对象,所述业务逻辑对象根据所述接口调用请求进行请求响应处理,其中,所述接口标识包括接口名称和接口编号。
2.如权利要求1所述的方法,其特征在于,所述接收接口调用请求,获取所述接口调用请求对应的请求协议类型,并检测所述请求协议类型是否属于预设协议类型集的步骤之前,所述方法还包括:
获取待分类的业务对象,采用面向切面编程技术对所述业务对象进行业务逻辑分类,获得若干个业务逻辑对象;
读取所述业务逻辑对象中携带的业务标识,根据读取到的业务标识确定所述业务逻辑对象所属的业务类别;
以各业务逻辑对象对应的业务标识为子结点、所述业务类别为父结点,建立业务逻辑树形结构。
3.如权利要求1至2任一项所述的方法,其特征在于,所述接收接口调用请求,获取所述接口调用请求对应的请求协议类型的步骤,包括:
在接收接口调用请求时,拦截所述接口调用请求,并对所述接口调用请求进行跨域访问检测;
在检测到所述接口调用请求属于跨域访问请求时,获取所述接口调用请求对应的请求协议类型。
4.如权利要求3所述的方法,其特征在于,所述接收接口调用请求,对所述接口调用请求进行跨域访问检测的步骤,包括:
接收接口调用请求,获取所述接口调用请求对应的请求路径,从所述请求路径中读取域名字段以及端口字段;
检测所述域名字段与本地域名对应的域名字段是否相同,和/或检测所述端口字段与本地端口对应的端口字段是否相同;
若所述域名字段与本地域名对应的域名字段不相同,和/或所述端口字段与本地端口对应的端口字段不相同,则判定所述接口调用请求属于跨域访问请求。
5.如权利要求3所述的方法,其特征在于,所述接收接口调用请求,对所述接口调用请求进行跨域访问检测的步骤之后,所述方法还包括:
在检测到所述接口调用请求不属于跨域访问请求时,获取所述接口调用请求中包含的请求参数和请求路径;
根据所述请求路径确定待调用目标接口,将所述请求参数发送至所述待调用目标接口对应的目标业务逻辑对象,以使所述目标业务逻辑对象根据所述请求参数获取出参数据并反馈所述出参数据。
6.一种请求处理装置,其特征在于,所述装置包括:
请求接收模块,用于接收接口调用请求,获取所述接口调用请求对应的请求协议类型,并检测所述请求协议类型是否属于预设协议类型集;
协议检测模块,用于在所述请求协议类型属于所述预设协议类型集时,读取所述接口调用请求中包含的请求路径;
对象查找模块,用于在数据库中查找所述请求路径对应的业务逻辑对象,并将所述接口调用请求发送至所述业务逻辑对象;
其中,所述请求处理装置还包括参数确定模块,所述参数确定模块,用于读取所述请求路径中包含的接口参数,并获取所述接口参数中包含的业务标识以及接口标识,根据预先建立的业务逻辑树形结构查找所述业务标识对应的目标结点,其中,所述接口参数包括请求路径中的虚拟目录数据和/或文件名数据;获取所述目标结点对应的接口路径集,根据所述接口标识从所述接口路径集中确定出目标路径,并将所述目标路径作为对象查询参数;
所述对象查找模块,还用于在数据库存储的映射关系中查找所述对象查询参数对应的业务逻辑对象,所述映射关系中存放有对象查询参数和业务逻辑对象之间的对应关系;
协议检测模块,还用于若不属于预设协议类型集,则判定所述请求协议类型为第二协议类型集;根据所述第二协议类型集将所述接口调用请求映射至预设公共协议管理模块,以使所述预设公共协议管理模块根据所述接口调用请求中包含的接口标识将所述接口调用请求分发至对应的业务逻辑对象,所述业务逻辑对象根据所述接口调用请求进行请求响应处理,其中,所述接口标识包括接口名称和接口编号。
7.一种请求处理设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的请求处理程序,所述请求处理程序配置为实现如权利要求1至5中任一项所述的请求处理方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有请求处理程序,所述请求处理程序被处理器执行时实现如权利要求1至5任一项所述的请求处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811246136.5A CN109635019B (zh) | 2018-10-23 | 2018-10-23 | 请求处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811246136.5A CN109635019B (zh) | 2018-10-23 | 2018-10-23 | 请求处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109635019A CN109635019A (zh) | 2019-04-16 |
CN109635019B true CN109635019B (zh) | 2023-08-22 |
Family
ID=66066645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811246136.5A Active CN109635019B (zh) | 2018-10-23 | 2018-10-23 | 请求处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109635019B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110099122B (zh) * | 2019-05-07 | 2020-05-15 | 北京字节跳动网络技术有限公司 | 用于发送网络请求的方法和装置 |
CN110298650A (zh) * | 2019-05-21 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 接口调用计费方法、装置、设备及存储介质 |
CN111045750B (zh) * | 2019-12-19 | 2023-07-07 | 飞天诚信科技股份有限公司 | 多应用设备上自动匹配应用程序的方法及电子设备 |
CN112351059B (zh) * | 2020-07-30 | 2021-09-10 | 中兴通讯股份有限公司 | 请求处理方法和装置、电子设备、计算机可读存储介质 |
CN112950370A (zh) * | 2021-02-25 | 2021-06-11 | 未鲲(上海)科技服务有限公司 | 业务处理方法、装置、设备及存储介质 |
CN113079198B (zh) * | 2021-03-18 | 2022-07-01 | 青岛海信智慧生活科技股份有限公司 | 一种云平台接口协议转换的方法及装置 |
CN113722621B (zh) * | 2021-08-30 | 2023-11-14 | 康键信息技术(深圳)有限公司 | 基于url的业务处理方法、设备、存储介质 |
CN114297219B (zh) * | 2021-09-15 | 2024-04-26 | 湖北中科网络科技股份有限公司 | 一种快速实现数据跨域的多业务查询处理方法 |
CN114095585B (zh) * | 2022-01-21 | 2022-05-20 | 武汉中科通达高新技术股份有限公司 | 数据传输方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286845A (zh) * | 2008-05-12 | 2008-10-15 | 华中科技大学 | 一种基于角色的域间访问控制*** |
CN101673272A (zh) * | 2008-09-08 | 2010-03-17 | 华为技术有限公司 | 搜索信息的方法、***、装置及垂直搜索引擎注册的方法 |
CN105488172A (zh) * | 2015-11-30 | 2016-04-13 | 北京奇艺世纪科技有限公司 | 一种基于位置的数据查询方法及装置 |
CN106790206A (zh) * | 2017-01-05 | 2017-05-31 | 厦门中控生物识别信息技术有限公司 | 业务***的协议解析方法及装置 |
CN107835226A (zh) * | 2017-09-27 | 2018-03-23 | 五八有限公司 | 应用程序的超文本传输协议接口处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8689276B2 (en) * | 2004-08-25 | 2014-04-01 | Adobe Systems Incorporated | System and method for controlling access to files |
-
2018
- 2018-10-23 CN CN201811246136.5A patent/CN109635019B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286845A (zh) * | 2008-05-12 | 2008-10-15 | 华中科技大学 | 一种基于角色的域间访问控制*** |
CN101673272A (zh) * | 2008-09-08 | 2010-03-17 | 华为技术有限公司 | 搜索信息的方法、***、装置及垂直搜索引擎注册的方法 |
CN105488172A (zh) * | 2015-11-30 | 2016-04-13 | 北京奇艺世纪科技有限公司 | 一种基于位置的数据查询方法及装置 |
CN106790206A (zh) * | 2017-01-05 | 2017-05-31 | 厦门中控生物识别信息技术有限公司 | 业务***的协议解析方法及装置 |
CN107835226A (zh) * | 2017-09-27 | 2018-03-23 | 五八有限公司 | 应用程序的超文本传输协议接口处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109635019A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109635019B (zh) | 请求处理方法、装置、设备及存储介质 | |
US11997160B2 (en) | Lightweight IoT information model | |
CN111314459B (zh) | 一种业务请求方法、装置、电子设备及存储介质 | |
IL275042A (en) | Security monitoring Level of application programming programming with self-adaptation | |
TWI658418B (zh) | 金融資訊交換(fix)協議的業務實現方法、裝置及系統 | |
US11500904B2 (en) | Local data classification based on a remote service interface | |
CN113259479B (zh) | 一种数据处理方法以及设备 | |
CN111510330B (zh) | 接口管理装置、方法及存储介质 | |
US7818752B2 (en) | Interface for application components | |
CN112612595A (zh) | 微服务调用关系建立方法、装置、计算机设备和存储介质 | |
WO2023050933A1 (zh) | 确定失陷主机的方法及装置 | |
CN114244654B (zh) | 一种url的转发方法、装置、设备及计算机存储介质 | |
CN108496157B (zh) | 使用扩展接口提供运行时跟踪的***和方法 | |
CN112860507B (zh) | 分布式链路跟踪***采样率的控制方法和装置 | |
US9503351B1 (en) | Deployment feedback for system updates to resources in private networks | |
CN116700778B (zh) | 接口差异分析方法、设备、存储介质及装置 | |
CN113779437A (zh) | 隐私检测方法及装置、计算机可存储介质 | |
WO2023125755A1 (zh) | 基于大规模集群的服务请求处理方法、装置、设备及介质 | |
US11443058B2 (en) | Processing requests at a remote service to implement local data classification | |
US11768889B1 (en) | Evaluating configuration files for uniform resource indicator discovery | |
WO2021232860A1 (zh) | 通信方法、装置及*** | |
CN111782428B (zh) | 数据调用***以及方法 | |
US11140183B2 (en) | Determining criticality of identified enterprise assets using network session information | |
CN115878396A (zh) | 用于企业服务总线的接口测试方法、装置、设备及介质 | |
CN116302397A (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 |