CN111083219A - 请求处理方法、装置、设备与计算机可读存储介质 - Google Patents

请求处理方法、装置、设备与计算机可读存储介质 Download PDF

Info

Publication number
CN111083219A
CN111083219A CN201911271697.5A CN201911271697A CN111083219A CN 111083219 A CN111083219 A CN 111083219A CN 201911271697 A CN201911271697 A CN 201911271697A CN 111083219 A CN111083219 A CN 111083219A
Authority
CN
China
Prior art keywords
request
service
cache database
data
configuration file
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.)
Pending
Application number
CN201911271697.5A
Other languages
English (en)
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201911271697.5A priority Critical patent/CN111083219A/zh
Publication of CN111083219A publication Critical patent/CN111083219A/zh
Pending legal-status Critical Current

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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种请求处理方法,包括:若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。本发明还公开了一种请求处理装置、设备和计算机可读存储介质。本发明在接收到业务请求时,根据对应的配置文件确定是否存在刷新字段,若配置文件存在刷新字段,则更新缓存数据库,使得前端直接通过缓存数据库获取的业务数据与后端的数据一致,提高请求响应的准确性,并实现请求的智能响应。

Description

请求处理方法、装置、设备与计算机可读存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及请求处理方法、装置、设备与计算机可读存储介质。
背景技术
目前REST(Representational State Transfer表现层状态转移)API(Application Programming Interface,应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节)被广泛的应用在软件工程中,并且绝大多数都是基于SOA(services-oriented architecture,面向服务的体系结构,它是一个组件模型,将应用程序的不同功能单元(称为服务单元)通过这些服务单元之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互)架构来设计的。使用REST API时,接口返回的数据格式、数据类型都是后端预先定义好的,并且后端经过模型抽象之后,数据的关联性被分裂为不同的接口,而通常业务所需要的展示数据必须通过多次访问,才能获得最终的结果,这个过程中与系统交互较多,时效性较低,如果业务发生变化或者返回的数据格式并不是调用者所期望的,那么就必须修改代码。
显然,现有的业务请求响应方式不够智能,很难响应用户的业务需求。
发明内容
本发明的主要目的在于提出一种请求处理方法、装置、设备与计算机可读存储介质,旨在实现请求的智能响应。
为实现上述目的,本发明提供一种请求处理方法,所述请求处理方法包括如下步骤:
若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;
若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;
若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
优选地,所述若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段的步骤包括:
若接收到业务请求,则基于所述业务请求的URL,确定所述业务请求对应的配置文件路径;
加载并解析所述配置文件路径中的配置文件,以得到解析参数,并确定所述解析参数是否存在刷新字段。
优选地,所述若所述配置文件存在刷新字段,则触发更新消息,并采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库的步骤包括:
若所述配置文件存在刷新字段,则触发更新消息,所述更新消息包括资源信息;
确定所述资源信息对应的业务视图,并基于所述业务视图,确定所述资源信息对应的第一服务单元;
采集所述第一服务单元的目标数据,并基于预设组合转换规则,将所述目标数据转换为更新数据,基于所述更新数据更新缓存数据库。
优选地,所述更新消息包括回调信息,所述若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据的步骤包括:
确定所述资源信息的回包个数;
基于所述回调信息和所述回包个数,检测所述缓存数据库是否更新完成;
若所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
优选地,所述基于所述回调信息和所述回包个数,检测所述缓存数据库是否更新完成的步骤包括:
在预设时间内,检测接收到所述回调信息的次数是否等于所述回包个数;
若所述回调信息的次数等于所述回包个数,则确定所述缓存数据库更新完成。
优选地,所述请求处理方法还包括:
若接收到业务请求,则确定所述业务请求的请求方式;
若所述请求方式为第一预设类,则从所述缓存数据库获取所述业务请求对应的第二业务数据;
若所述请求方式为第二预设类,则将所述业务请求路由至对应的第二服务单元;
获取所述第二服务单元中所述业务请求对应的第三业务数据。
优选地,所述获取所述第二服务单元中所述业务请求对应的第三业务数据的步骤包括:
获取所述第二服务单元中所述业务请求对应的请求结果,并确定所述请求结果对应的组合转换规则;
基于所述组合转换规则,将所述请求结果转化为第三业务数据。
此外,为实现上述目的,本发明还提供一种请求处理装置,所述请求处理装置包括:
接收模块,用于若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;
更新模块,用于若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;
获取模块,用于若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
优选地,所述接收模块还用于:
若接收到业务请求,则基于所述业务请求的URL,确定所述业务请求对应的配置文件路径;
加载并解析所述配置文件路径中的配置文件,以得到解析参数,并确定所述解析参数是否存在刷新字段。
优选地,所述更新模块还用于:
若所述配置文件存在刷新字段,则触发更新消息,所述更新消息包括资源信息;
确定所述资源信息对应的业务视图,并基于所述业务视图,确定所述资源信息对应的第一服务单元;
采集所述第一服务单元的目标数据,并基于预设组合转换规则,将所述目标数据转换为更新数据,基于所述更新数据更新缓存数据库。
优选地,所述更新消息包括回调信息,所述获取模块还用于:
确定所述资源信息的回包个数;
基于所述回调信息和所述回包个数,检测所述缓存数据库是否更新完成;
若所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
优选地,所述更新模块还用于:
在预设时间内,检测接收到所述回调信息的次数是否等于所述回包个数;
若所述回调信息的次数等于所述回包个数,则确定所述缓存数据库更新完成。
优选地,所述请求处理装置还包括:
所述接收模块,还用于若接收到业务请求,则确定所述业务请求的请求方式;
所述获取模块,还用于若所述请求方式为第一预设类,则从所述缓存数据库获取所述业务请求对应的第二业务数据;
路由模块,用于若所述请求方式为第二预设类,则将所述业务请求路由至对应的第二服务单元;
所述获取模块,还用于获取所述第二服务单元中所述业务请求对应的第三业务数据。
优选地,所述获取模块用于:
获取所述第二服务单元中所述业务请求对应的请求结果,并确定所述请求结果对应的组合转换规则;
基于所述组合转换规则,将所述请求结果转化为第三业务数据。
此外,为实现上述目的,本发明还提供一种请求处理设备,所述请求处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的请求处理程序,所述请求处理程序被所述处理器执行时实现如上所述的请求处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有请求处理程序,所述请求处理程序被处理器执行时实现如上所述的请求处理方法的步骤。
本发明提出的请求处理方法,若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。本发明在接收到业务请求时,根据对应的配置文件确定是否存在刷新字段,若配置文件存在刷新字段,则更新缓存数据库,使得前端直接通过缓存数据库获取的业务数据与后端的数据一致,提高请求响应的准确性,并实现请求的智能响应。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明请求处理方法第一实施例的流程示意图;
图3为本发明请求处理方法第一实施例中请求处理设备的框架示意图;
图4为本发明请求处理方法第二实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是PC机或服务器设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及请求处理程序。
其中,操作系统是管理和控制请求处理设备与软件资源的程序,支持网络通信模块、用户接口模块、请求处理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的请求处理设备中,所述请求处理设备通过处理器1001调用存储器1005中存储的请求处理程序,并执行下述请求处理方法各个实施例中的操作。
基于上述硬件结构,提出本发明请求处理方法实施例。
参照图2,图2为本发明请求处理方法第一实施例的流程示意图,所述方法包括:
步骤S10,若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;
步骤S20,若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;
步骤S30,若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
本实施例请求处理方法运用于请求处理设备,为方便描述,请求处理设备以处理设备简称,参照图3,处理设备包括UI(User Interface,用户界面)、API网关、消息队列、多个服务单元,也即多个服务进程,如服务进程A、服务进程B和服务进程C等、采集器和缓存数据库(图中以缓存示出)等,其中,UI是指处理设备的前端,是用户与处理设备交互的入口,用户通过UI界面获取到处理设备当前的信息,并通过在UI界面上的操作实现与处理设备后端联动交互,也即,用户可在UI界面上进行业务操作,从而触发对应的业务请求,处理设备响应该业务请求。
API网关,也即接口,负责对业务请求进行路由,用户通过UI界面触发的所有业务请求都首先经过API网关,API网关会将业务请求路由到后端的服务单元或者缓存数据库,API网关通过调用多个服务单元的组合结果来响应一个请求,或者直接获取缓存数据库中的数据来响应当前的业务请求。具体的,针对不同的业务请求在经过API网关后会有不同的处理,对于变动类的业务请求,如删除等业务请求,会直接路由到具体对应的服务单元,而针对查询类的业务请求则会路由到缓存数据库,API网关直接从缓存数据库中捞取业务请求对应的业务数据。
而采集器则用于采集各个服务单元的数据,然后将其缓存在缓存数据库,以响应API网关路由到缓存数据库的业务请求,也即,API网关通过缓存数据库来获取业务请求对应的数据,而不需要去各个服务单元实时获取,可以提高处理设备的性能,用户体验也有提升,尤其在大规模并发下能提供较优的性能,实现快速响应。
采集器在采集各个服务单元的数据对缓存数据库进行更新时,可以采用轮询采集和主动采集两种采集方式,其中,轮询采集即预设一个时间,定时地从各个服务单元采集数据;主动采集则是通过监听消息队列,一旦收到采集通知,采集器就会主动去各个服务中采集数据,最终更新缓存数据库中的数据,其中,采集器包括采集单元、转化单元和发布单元,也即,采集器通过采集单元采集各个服务单元的数据,然后通过转化单元,对采集到的数据进行组合转换,最后通过发布单元发布到缓存数据库,以对缓存数据库进行更新。
本实施例在接收到业务请求时,通过对应的配置文件确定是否存在刷新字段,也即是否需要采集器去采集,若是,则采集更新数据,然后更新缓存数据库,再从更新的缓存数据库中捞取业务请求对应的业务数据。
以下将对各个步骤进行详细说明:
步骤S10,若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段。
在本实施例中,若处理设备接收到业务请求,也即用户通过处理设备的UI界面触发业务请求,则处理设备先确定业务请求对应的配置文件,并确定该配置文件中是否存在刷新字段,其中,配置文件是开发人员配置的,也即接口的数据可通过配置文件来定义,配置文件中包含以下几项定义:
数据返回区:包含返回的类型和字段名称,字段名称对应的是缓存数据库中的字段名称,可进行重命名。
权限定义区:包含了角色和权限的定义,可以对当前访问接口的角色做权限控制,也即若接收到业务请求,可对该业务请求进行角色权限验证,确定该业务请求是否有权限发起。
参数定义区:包含了接口支持的所有参数,有参数名称、参数类型以及参数是否可选,数据刷新时间等。
常量定义区:包含了常量的名称、类型和值,主要提供给其它区域引用。
数据处理区:包含了数据名称、数据类型、数据源、数据操作、访问权限、过滤参数、数据转化等。
为了减少处理设备后台的冗余代码,提高性能,还可在接口和配置文件之间设置一公共库,使得开发人员通过公共库,以配置文件的形式来实现接口的查询与返回。开发人员只需要在配置文件中定义相关的参数,如查询条件、查询的数据表、需要返回的字段及类型就可以完成接口的定义。
具体的,步骤S10包括:
若接收到业务请求,则基于所述业务请求的URL,确定所述业务请求对应的配置文件路径;
在该步骤中,处理设备根据不同的URL,预设有一套匹配规则用于匹配相关的配置文件路径,因此,若处理设备接收到业务请求,则先获取当前业务请求的URL,再根据预设匹配规则,确定当前业务请求对应的配置文件路径。
加载并解析所述配置文件路径中的配置文件,以得到解析参数,并确定所述解析参数是否存在刷新字段。
在确定对应的配置文件路径后,即可加载该配置文件路径中的配置文件,并对该配置文件进行解析,以得到解析参数,其中,解析参数包括用于标识是否需要刷新的刷新字段,刷新字段为事先设置的字段。
也即,处理设备若接收到业务请求,则确定该业务请求对应的配置文件中是否携带有刷新字段,以便后续决定是直接从缓存数据库中获取对应的业务数据,还是更新完缓存数据库之后,再去缓存数据库中获取对应的业务数据。
步骤S20,若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库。
在本实施例中,若处理设备确定当前业务请求对应的配置文件中携带有刷新字段,则向消息队列发送更新消息,此时,采集器监听到消息队列中的更新消息,开始采集更新消息对应的更新数据,然后以更新数据对缓存数据库进行更新,具体可以更新数据替换缓存数据库中的缓存数据。其中,缓存数据库用于缓存业务请求对应的业务数据,以便快速响应业务请求。
该步骤的目的在于避免前端UI界面获取到的业务数据与处理设备后端的服务单元的业务数据不一致,因此,对缓存数据库进行更新处理,使得在缓存数据库中获取的业务数据与处理设备后端各服务单元的数据一致,前端UI展示的业务数据即为后端各服务单元的数据。
进一步地,在另一实施例中,基于所述更新数据更新缓存数据库的步骤包括:
将所述更新数据与所述缓存数据库中的缓存数据进行比较,确定对应的待更新数据,以及所述待更新数据的更新方式;
基于所述待更新数据和所述更新方式,更新所述缓存数据库。
也即,在另一实施例中,在更新缓存数据库时,具体是将更新数据与缓存数据库中的缓存数据进行比较,确定对应的待更新数据,也即两者差异的数据,以及待更新数据对应的更新方式,最后,根据待更新数据和对应的更新方式,更新缓存数据库。其中,更新方式包括添加更新,如更新数据为ABC,缓存数据为AB,则确定待更新数据为C,则将C添加进缓存数据库;替换更新,如更新数据ABC,缓存数据为ABD,则确定待更新数据为CD,则将缓存数据库中的D替换为C;删除更新,如更新数据为ABC,缓存数据为ABCD,则确定待更新数据为D,则将D删除。
也即,只需针对待更新数据进行增删改,而无需对其他的缓存数据进行迁移或者删除或者替换,可提高处理设备的运行性能,不会因大量数据更新而引起处理设备故障。
进一步地,在另一实施例中,步骤S10之后,请求处理方法还包括:
若不存在,则从所述缓存数据库中获取所述业务请求对应的业务数据。
在另一实施例中,若处理设备确定当前业务请求对应的配置文件中并未携带刷新字段,则无需对缓存数据库进行更新,可直接从缓存数据库中获取当前业务请求对应的业务数据,并展示在UI界面,以响应当前业务请求。
可以理解的,在实施处理过程中,有些业务请求并不需要实时的数据反馈,此时可建立缓存数据库,用于快速响应对应的业务请求。
步骤S30,若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
在本实施例中,若处理设备检测到缓存数据库更新完成,则根据业务请求,从更新完成的缓存数据库中获取对应的第一业务数据,并将第一业务数据返回UI界面,以响应当前业务请求。
在具体实施时,可检测更新数据与缓存数据库中的缓存数据是否一致来确定缓存数据库是否更新完成。若更新数据与缓存数据一致,则确定缓存数据库更新完成。在确定缓存数据库更新完成后,才去获取业务请求对应的第一业务数据,此时获取到的数据与处理设备后端各服务单元的数据是一致的。
本实施例若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。本发明在接收到业务请求时,根据对应的配置文件确定是否存在刷新字段,若配置文件存在刷新字段,则更新缓存数据库,使得前端直接通过缓存数据库获取的业务数据与后端的数据一致,提高请求响应的准确性,并实现请求的智能响应。
进一步地,基于本发明请求处理方法第一实施例,提出本发明请求处理方法第二实施例。
请求处理方法的第二实施例与请求处理方法的第一实施例的区别在于,参照图4,步骤S20包括:
步骤S21,若所述配置文件存在刷新字段,则触发更新消息,所述更新消息包括资源信息;
步骤S22,确定所述资源信息对应的业务视图,并基于所述业务视图,确定所述资源信息对应的第一服务单元;
步骤S23,采集所述第一服务单元的目标数据,并基于预设组合转换规则,将所述目标数据转换为更新数据,基于所述更新数据更新缓存数据库。
本实施例在更新缓存数据库时,并不需要对所有的缓存数据进行更新,也即不需要采集各个服务单元的更新数据,而是根据更新消息,确定对应的第一服务单元,仅采集第一服务单元的目标数据,再基于目标数据对缓存数据库进行更新即可,可有效减少目标数据的采集量,加快缓存数据库的更新速度,实现请求的快速响应。
以下将对各个步骤进行详细说明:
步骤S21,若所述配置文件存在刷新字段,则触发更新消息,所述更新消息包括资源信息。
在本实施例中,若处理设备确定当前业务请求对应的配置文件携带有刷新字段,则通过API网关,向消息队列发送更新消息,其中,更新消息包括资源信息和回调信息。
步骤S22,确定所述资源信息对应的业务视图,并基于所述业务视图,确定所述资源信息对应的第一服务单元。
在本实施例中,在采集器监听到更新消息后,处理设备根据资源信息,确定对应的业务视图,其中,资源信息包括资源包个数和资源属性,业务视图指的是业务模型,用于表征业务请求所对应的数据的不同来源,接着,处理设备根据业务视图,确定对应的第一服务单元,也即确定需要采集的目标数据是在哪些服务单元中,并只需去第一服务单元采集,其他服务单元则不需要采集。
步骤S23,采集所述第一服务单元的目标数据,并基于预设组合转换规则,将所述目标数据转换为更新数据,基于所述更新数据更新缓存数据库。
在本实施例中,仅采集第一服务单元的目标数据,而不需要去采集其他服务单元的目标数据,其中,第一服务单元可以是一个,或者多个。然后,根据预设组合转换规则,将目标数据转换为更新数据,具体的,按照更新消息中回调信息约定的格式进行转化,如单位之间的转换,或者,当第一服务单元有多个服务单元时,由于各个服务单元的数据并不相同,因此需要对各个服务单元的数据进行组合转换,如业务请求是用户的设备信息,此时,从服务单元A采集的数据为用户信息,从服务单元B采集的数据为设备信息,将用户信息与设备信息进行组合转换,从而得到更新数据,具体的,可通过用户信息的ID确定对应的设备信息,再将用户信息与对应的设备信息进行一一对应,从而得到的数据为用户信息-设备信息。
最后,根据更新数据,对缓存数据库进行更新,具体更新方式与上述类似,在此不再赘述。
本实施例在更新缓存数据库时,并不需要对所有的缓存数据进行更新,也即不需要采集各个服务单元的更新数据,而是根据更新消息,确定对应的第一服务单元,仅采集第一服务单元的目标数据,再基于目标数据对缓存数据库进行更新即可,可有效减少目标数据的采集量,加快缓存数据库的更新速度,实现请求的快速响应。
进一步地,基于本发明请求处理方法第一、第二实施例,提出本发明请求处理方法第三实施例。
请求处理方法的第三实施例与请求处理方法的第一、第二实施例的区别在于,更新消息包括回调信息,步骤S30包括:
步骤a,确定所述资源信息的回包个数;
步骤b,基于所述回调信息和所述回包个数,检测所述缓存数据库是否更新完成;
步骤c,若所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
本实施例获取缓存数据库中业务请求对应的第一业务数据的时机,需要等到缓存数据库更新完成,而检测缓存数据库是否更新完成,具体通过回调信息和回包个数进行确定。
以下将对各个步骤进行详细说明:
步骤a,确定所述资源信息的回包个数。
在本实施例中,更新消息包括回调信息和资源信息,处理设备可根据资源信息确定对应的回包个数,也即确定要更新的资源包的个数,如当前业务请求包括两个用户信息和两个设备信息,则当前业务请求触发的更新消息中,资源信息的资源包的个数为2个,也即两个用户信息-设备信息的资源包。
步骤b,基于所述回调信息和所述回包个数,检测所述缓存数据库是否更新完成。
在本实施例中,处理设备根据回调信息和回包个数,检测缓存数据库是否更新完成。
具体的,步骤b包括:
在预设时间内,检测接收到所述回调信息的次数是否等于所述回包个数;
若所述回调信息的次数等于所述回包个数,则确定所述缓存数据库更新完成。
在该步骤中,处理设备的API网关检测接收到的回调信息的次数是否等于回包个数,若回调信息的次数等于回包个数,则确定缓存数据库更新完成,若回调信息的次数不等于回包个数,则确定缓存数据库未更新完成。
在具体实施时,采集器在将采集的更新数据发到缓存数据库后,缓存数据库进行更新,并在更新过程中,每更新完成一个资源包,则发送一次回调信息,在检测到回调信息的次数等于回包个数时,即确定更新完成。
也即当前业务信息触发的更新消息后,采集器监听到更新消息后,确定回包个数,并告诉API网关,然后,采集更新数据,并发布到缓存数据库中,缓存数据库在进行更新时,每完成一次更新则发送回调信息通知API网关更新进度,在更新完成后,API网关才去缓存数据库捞取对应的第一业务数据,以响应当前业务请求。
进一步地,在另一实施例中,设置一个预设时间,也即处理设备需要在预设时间内更新完缓存数据库,因此,需要在预设时间确定接收到回调信息的次数是否等于回包个数。其中,预设时间可根据每一次更新缓存数据库时,等待回包的时间进行动态调整,如前五次等待回包的平均时间为0.1s,则预设时间为0.1s,前10次等待回包的平均时间为0.2s,则预设时间为0.2s等。
本实施例在确定缓存数据库是否更新完成的过程中,具体根据回调信息和回包个数确定,等缓存数据库更新完成后,才允许获取对应的第一业务数据,前端的UI界面展示的业务数据与处理设备后端各个服务单元的数据一致,使得响应业务请求的数据准确。
进一步地,基于本发明请求处理方法第一、第二或第三实施例,提出本发明请求处理方法第四实施例。
请求处理方法的第四实施例与请求处理方法的第一、第二或第三实施例的区别在于,请求处理方法还包括:
步骤c,若接收到业务请求,则确定所述业务请求的请求方式;
步骤d,若所述请求方式为第一预设类,则从所述缓存数据库获取所述业务请求对应的第二业务数据;
步骤e,若所述请求方式为第二预设类,则将所述业务请求路由至对应的第二服务单元;
步骤f,获取所述第二服务单元中所述业务请求对应的第三业务数据。
本实施例在响应业务请求时,根据当前业务请求的请求方式,将业务请求路由到相应的服务对象,从而可以根据不同请求方式的业务请求,采取不同的服务对象进行响应。
以下将对各个步骤进行详细说明:
步骤c,若接收到业务请求,则确定所述业务请求的请求方式。
在本实施例中,若处理设备接收到业务请求,则确定业务请求的请求方式,其中,请求方式包括GET,POST,PUT和DELETE等。在具体实施时,用户在UI界面上的操作所触发的业务请求一般可分为查看(view),创建(create),编辑(edit)和删除(delete),其在HTTP中映射为GET,POST,PUT和DELETE等,由于GET一般不会使数据发生变化,因此,将其定义为第一预设类,也即查询类,将POST,PUT和DELETE等会使数据发生变换的定义为第二预设类,也即变动类。
步骤d,若所述请求方式为第一预设类,则从所述缓存数据库获取所述业务请求对应的第二业务数据。
在本实施例中,若确定当前业务请求的请求方式为第一预设类,也即查询类,说明不会使处理设备后端的服务单元的数据发生变动,因此,可默认为此时缓存数据库与服务单元的数据是一致的,则可直接从缓存数据库中获取当前业务请求对应的第二业务数据。
步骤e,若所述请求方式为第二预设类,则将所述业务请求路由至对应的第二服务单元。
在本实施例中,若确定当前业务请求的请求方式为第二预设类,也即变动类,说明会使处理设备后端的服务单元的数据发生变化,致使处理设备的服务单元的数据与缓存数据库中的数据不再一致,则此时,需要将业务请求路由到对应的第二服务单元,从处理设备的后端获取数据,以确保响应当前业务请求的业务数据准确。
步骤f,获取所述第二服务单元中所述业务请求对应的第三业务数据。
在本实施例中,由于缓存数据库中的数据与服务单元中的数据不再一样,因此,是从服务单元中获取第三业务数据,具体从业务请求对应的第二服务单元中获取,使得响应当前业务请求的第三业务数据准确。
进一步地,步骤f包括:
获取所述第二服务单元中所述业务请求对应的请求结果,并确定所述请求结果对应的组合转换规则;
在该步骤中,处理设备从第二服务单元中获取对应的请求结果,并确定请求结果对应的组合转换规则,其中,第二服务单元可以是一个,也可以是多个,组合转换规则包括单位转换规则,数据对应规则等,目的在于将请求结果按照约定的格式返回,与上述实施例类似,在此不再赘述。
基于所述组合转换规则,将所述请求结果转化为第三业务数据。
在该步骤中,根据组合转换规则,将请求结果转换为第三业务数据,以响应当前业务请求。
本实施例在响应业务请求时,根据当前业务请求的请求方式,将业务请求路由到相应的服务对象,从而可以根据不同请求方式的业务请求,采取不同的服务对象进行响应,实现业务请求的智能响应。
本发明还提供一种请求处理装置。本发明请求处理装置包括:
接收模块,用于若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;
更新模块,用于若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;
获取模块,用于若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
进一步地,所述接收模块还用于:
若接收到业务请求,则基于所述业务请求的URL,确定所述业务请求对应的配置文件路径;
加载并解析所述配置文件路径中的配置文件,以得到解析参数,并确定所述解析参数是否存在刷新字段。
进一步地,所述更新模块还用于:
若所述配置文件存在刷新字段,则触发更新消息,所述更新消息包括资源信息;
确定所述资源信息对应的业务视图,并基于所述业务视图,确定所述资源信息对应的第一服务单元;
采集所述第一服务单元的目标数据,并基于预设组合转换规则,将所述目标数据转换为更新数据,基于所述更新数据更新缓存数据库。
进一步地,所述更新消息包括回调信息,所述获取模块还用于:
确定所述资源信息的回包个数;
基于所述回调信息和所述回包个数,检测所述缓存数据库是否更新完成;
若所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
进一步地,所述更新模块还用于:
在预设时间内,检测接收到所述回调信息的次数是否等于所述回包个数;
若所述回调信息的次数等于所述回包个数,则确定所述缓存数据库更新完成。
进一步地,所述请求处理装置还包括:
所述接收模块,还用于若接收到业务请求,则确定所述业务请求的请求方式;
所述获取模块,还用于若所述请求方式为第一预设类,则从所述缓存数据库获取所述业务请求对应的第二业务数据;
路由模块,用于若所述请求方式为第二预设类,则将所述业务请求路由至对应的第二服务单元;
所述获取模块,还用于获取所述第二服务单元中所述业务请求对应的第三业务数据。
进一步地,所述获取模块用于:
获取所述第二服务单元中所述业务请求对应的请求结果,并确定所述请求结果对应的组合转换规则;
基于所述组合转换规则,将所述请求结果转化为第三业务数据。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有请求处理程序,所述请求处理程序被处理器执行时实现如上所述的请求处理方法的步骤。
其中,在所述处理器上运行的请求处理程序被执行时所实现的方法可参照本发明请求处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种请求处理方法,其特征在于,所述请求处理方法包括如下步骤:
若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;
若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;
若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
2.如权利要求1所述的请求处理方法,其特征在于,所述若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段的步骤包括:
若接收到业务请求,则基于所述业务请求的URL,确定所述业务请求对应的配置文件路径;
加载并解析所述配置文件路径中的配置文件,以得到解析参数,并确定所述解析参数是否存在刷新字段。
3.如权利要求1所述的请求处理方法,其特征在于,所述若所述配置文件存在刷新字段,则触发更新消息,并采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库的步骤包括:
若所述配置文件存在刷新字段,则触发更新消息,所述更新消息包括资源信息;
确定所述资源信息对应的业务视图,并基于所述业务视图,确定所述资源信息对应的第一服务单元;
采集所述第一服务单元的目标数据,并基于预设组合转换规则,将所述目标数据转换为更新数据,基于所述更新数据更新缓存数据库。
4.如权利要求3所述的请求处理方法,其特征在于,所述更新消息包括回调信息,所述若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据的步骤包括:
确定所述资源信息的回包个数;
基于所述回调信息和所述回包个数,检测所述缓存数据库是否更新完成;
若所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
5.如权利要求4所述的请求处理方法,其特征在于,所述基于所述回调信息和所述回包个数,检测所述缓存数据库是否更新完成的步骤包括:
在预设时间内,检测接收到所述回调信息的次数是否等于所述回包个数;
若所述回调信息的次数等于所述回包个数,则确定所述缓存数据库更新完成。
6.如权利要求1-5任一项所述的请求处理方法,其特征在于,所述请求处理方法还包括:
若接收到业务请求,则确定所述业务请求的请求方式;
若所述请求方式为第一预设类,则从所述缓存数据库获取所述业务请求对应的第二业务数据;
若所述请求方式为第二预设类,则将所述业务请求路由至对应的第二服务单元;
获取所述第二服务单元中所述业务请求对应的第三业务数据。
7.如权利要求6所述的请求处理方法,其特征在于,所述获取所述第二服务单元中所述业务请求对应的第三业务数据的步骤包括:
获取所述第二服务单元中所述业务请求对应的请求结果,并确定所述请求结果对应的组合转换规则;
基于所述组合转换规则,将所述请求结果转化为第三业务数据。
8.一种请求处理装置,其特征在于,所述请求处理装置包括:
接收模块,用于若接收到业务请求,则确定所述业务请求对应的配置文件,并确定所述配置文件是否存在刷新字段;
更新模块,用于若所述配置文件存在刷新字段,则触发更新消息,采集所述更新消息对应的更新数据,并基于所述更新数据更新缓存数据库;
获取模块,用于若检测到所述缓存数据库更新完成,则从更新完成的所述缓存数据库中获取所述业务请求对应的第一业务数据。
9.一种请求处理设备,其特征在于,所述请求处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的请求处理程序,所述请求处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的请求处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有请求处理程序,所述请求处理程序被处理器执行时实现如权利要求1至7中任一项所述的请求处理方法的步骤。
CN201911271697.5A 2019-12-11 2019-12-11 请求处理方法、装置、设备与计算机可读存储介质 Pending CN111083219A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911271697.5A CN111083219A (zh) 2019-12-11 2019-12-11 请求处理方法、装置、设备与计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911271697.5A CN111083219A (zh) 2019-12-11 2019-12-11 请求处理方法、装置、设备与计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN111083219A true CN111083219A (zh) 2020-04-28

Family

ID=70314130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911271697.5A Pending CN111083219A (zh) 2019-12-11 2019-12-11 请求处理方法、装置、设备与计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111083219A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914194A (zh) * 2020-07-02 2020-11-10 网联清算有限公司 一种业务系统变更方法、装置、电子设备及存储介质
CN112579698A (zh) * 2020-12-02 2021-03-30 京东数字科技控股股份有限公司 数据同步方法、装置、网关设备及存储介质
CN113271359A (zh) * 2021-05-19 2021-08-17 北京百度网讯科技有限公司 刷新缓存数据的方法、装置、电子设备和存储介质
CN114936216A (zh) * 2022-07-01 2022-08-23 北京奇艺世纪科技有限公司 一种数据更新方法、装置、电子设备及存储介质
CN115048398A (zh) * 2022-06-17 2022-09-13 中国平安人寿保险股份有限公司 数据回退结算方法和装置、电子设备、存储介质
CN115914360A (zh) * 2022-09-15 2023-04-04 成都飞机工业(集团)有限责任公司 一种时序数据存储方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090401A (zh) * 2007-05-25 2007-12-19 金蝶软件(中国)有限公司 一种群集环境下的数据缓存方法及系统
CN106326389A (zh) * 2016-08-17 2017-01-11 深圳市金证科技股份有限公司 一种基于数据缓存的业务请求处理方法及系统
CN106357447A (zh) * 2016-09-21 2017-01-25 努比亚技术有限公司 一种配置数据的同步方法及装置
CN108848173A (zh) * 2018-06-25 2018-11-20 郑州云海信息技术有限公司 一种数据更新方法、装置、设备及可读存储介质
CN109614347A (zh) * 2018-10-22 2019-04-12 中国平安人寿保险股份有限公司 多级缓存数据的处理方法、装置、存储介质及服务器
CN109885786A (zh) * 2019-01-23 2019-06-14 聚好看科技股份有限公司 数据缓存处理方法、装置、电子设备及可读存储介质
CN110190997A (zh) * 2019-05-31 2019-08-30 深圳前海微众银行股份有限公司 配置信息获取方法、装置、设备及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090401A (zh) * 2007-05-25 2007-12-19 金蝶软件(中国)有限公司 一种群集环境下的数据缓存方法及系统
CN106326389A (zh) * 2016-08-17 2017-01-11 深圳市金证科技股份有限公司 一种基于数据缓存的业务请求处理方法及系统
CN106357447A (zh) * 2016-09-21 2017-01-25 努比亚技术有限公司 一种配置数据的同步方法及装置
CN108848173A (zh) * 2018-06-25 2018-11-20 郑州云海信息技术有限公司 一种数据更新方法、装置、设备及可读存储介质
CN109614347A (zh) * 2018-10-22 2019-04-12 中国平安人寿保险股份有限公司 多级缓存数据的处理方法、装置、存储介质及服务器
CN109885786A (zh) * 2019-01-23 2019-06-14 聚好看科技股份有限公司 数据缓存处理方法、装置、电子设备及可读存储介质
CN110190997A (zh) * 2019-05-31 2019-08-30 深圳前海微众银行股份有限公司 配置信息获取方法、装置、设备及计算机可读存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914194A (zh) * 2020-07-02 2020-11-10 网联清算有限公司 一种业务系统变更方法、装置、电子设备及存储介质
CN111914194B (zh) * 2020-07-02 2021-09-17 网联清算有限公司 一种业务系统变更方法、装置、电子设备及存储介质
CN112579698A (zh) * 2020-12-02 2021-03-30 京东数字科技控股股份有限公司 数据同步方法、装置、网关设备及存储介质
CN112579698B (zh) * 2020-12-02 2024-06-18 京东科技控股股份有限公司 数据同步方法、装置、网关设备及存储介质
CN113271359A (zh) * 2021-05-19 2021-08-17 北京百度网讯科技有限公司 刷新缓存数据的方法、装置、电子设备和存储介质
CN115048398A (zh) * 2022-06-17 2022-09-13 中国平安人寿保险股份有限公司 数据回退结算方法和装置、电子设备、存储介质
CN115048398B (zh) * 2022-06-17 2024-08-02 中国平安人寿保险股份有限公司 数据回退结算方法和装置、电子设备、存储介质
CN114936216A (zh) * 2022-07-01 2022-08-23 北京奇艺世纪科技有限公司 一种数据更新方法、装置、电子设备及存储介质
CN115914360A (zh) * 2022-09-15 2023-04-04 成都飞机工业(集团)有限责任公司 一种时序数据存储方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN111083219A (zh) 请求处理方法、装置、设备与计算机可读存储介质
US12105632B2 (en) Cache aware searching based on files of buckets
EP4020252A1 (en) Data analysis method and device, apparatus, and storage medium
US10776104B2 (en) Systems and methods for tracking configuration file changes
JP5200721B2 (ja) 制御方法、制御装置、及びプログラム
US8543972B2 (en) Gateway data distribution engine
US20120179779A1 (en) System and method for data storage and retrieval
JP2005259138A (ja) 非統合ツールの統合アーキテクチャ
US9280402B2 (en) System and method for updating a dual layer browser
WO2015149505A1 (zh) Sdn应用集成管理和控制的方法、系统及设备
US10275398B2 (en) Content display device, content display method, and content display program
CN109740089A (zh) 数据采集方法、装置、系统、可读存储介质及电子设备
US20140096237A1 (en) Information processing system, access right management method, information processing apparatus and control method and control program therefor
CN101853152A (zh) 一种生成用户图形界面的方法和系统
CN104216698A (zh) 一种注册网页方法及相关装置
JP2015534692A (ja) ウェブアプリケーションにデータベースの変更内容を取得させるための方法及びシステム
CN108737371A (zh) Hive数据访问控制方法、服务器及计算机存储介质
CN107729421B (zh) 存储过程的执行方法、装置及存储介质
CN110741617A (zh) 资源更新方法、装置、计算机设备和存储介质
US10027754B2 (en) Large data set updating for network usage records
KR20180007792A (ko) 클라우드 서비스 기반의 데이터 제공 장치 및 방법
CN113761433B (zh) 业务处理方法和装置
CN107453950A (zh) 一种信息处理方法及监控系统
CN113779445A (zh) 页面的渲染方法、装置、系统、设备及存储介质
US12073263B1 (en) Dynamic processing of API requests

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200428