CN117472973A - 基于接口统一管理的报表查询方法及装置 - Google Patents
基于接口统一管理的报表查询方法及装置 Download PDFInfo
- Publication number
- CN117472973A CN117472973A CN202311415673.9A CN202311415673A CN117472973A CN 117472973 A CN117472973 A CN 117472973A CN 202311415673 A CN202311415673 A CN 202311415673A CN 117472973 A CN117472973 A CN 117472973A
- Authority
- CN
- China
- Prior art keywords
- report
- target
- interface
- query
- query statement
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012545 processing Methods 0.000 claims description 27
- 238000012795 verification Methods 0.000 claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 230000006399 behavior Effects 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 22
- 230000007246 mechanism Effects 0.000 description 12
- 238000011161 development Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000013475 authorization Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000035515 penetration Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种基于接口统一管理的报表查询方法及装置,方法包括:根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定已授权报表调用请求对应的数据仓库中的数据源;基于查询语句限流保护规则判断目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于目标查询语句自数据源查询得到对应的报表查询结果数据。本申请能够实现针对数据仓库报表查询的接口统一管理,能够有效提高接口查找的可靠性及效率,并能够有效提高接口调用及报表查询的效率及便捷性,能够有效提高报表查询的安全性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及基于接口统一管理的报表查询方法及装置。
背景技术
数据仓库是决策支持系统和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。为了解决项目查询报表数据时需要在数据集成查询服务中进行代码硬编写且需要每次上线开发实现报表功能带来的耗时长及便捷性差等问题,需要构建数据仓库统一的接口管理平台。
目前,现有的统一接口平台通常通过接收用户端输入的查询请求信息;根据查询请求信息提取查询关键字;根据查询关键字生成数据库查询语句,并根据数据库查询语句从数据库中获取查询数据源;通过预设接口调用预封装的图表模型;根据预封装的图表模型和查询数据源生成可视化的报表的过程实现报表生成处理的过程。
然而,现有的统一接口平台虽然可以提供便利性和灵活性,但也存在一些潜在的缺陷,具体来说:现有的统一接口平台在每次处理调用请求时,都直接根据请求去数据仓库获取查询语句,该种方式不但会影响报表查询效率,会导致额外的开销和延迟,还可能导致未经授权的用户获取、修改或删除敏感数据,使得该方式存在安全性和效率缺陷。
发明内容
鉴于此,本申请实施例提供了基于接口统一管理的报表查询方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的一个方面提供了一种基于接口统一管理的报表查询方法,包括:
根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;
基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
在本申请的一些实施例中,在所述根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句之前,还包括:
接收用户发送的目标报表调用请求;
自预设的用户登录认证和权限管理系统中查找是否包含有所述用户的权限校验规则,若是,则基于该权限校验规则判断所述用户是否具备所述目标报表调用请求指定的目标报表接口的访问权限;
若所述用户具备所述目标报表接口的访问权限,则将所述目标报表调用请求确定为当前的已授权报表调用请求。
在本申请的一些实施例中,在所述根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句之前,还包括:
自所述数据仓库中加载全部的访问地址以及每个所述访问地址各自对应的查询语句;
将各个所述访问地址与各个所述查询语句之间的对应关系存储至本地缓存中。
在本申请的一些实施例中,所述根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源,包括:
基于预设的访问地址验证规则对当前的已授权报表调用请求对应的目标访问地址进行格式校验;
若该目标访问地址通过格式校验,则判断所述已授权报表调用请求中是否还包含有用户自定义查询语句,若是,则进一步判断该用户自定义查询语句中是否包含有预设的敏感字符,若包含所述敏感字符,则对该用户自定义查询语句进行敏感字符过滤处理;
基于预设的自定义注解在本地缓存中的各个所述访问地址与各个所述查询语句之间的对应关系中,查找所述目标访问地址对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;其中,若所述已授权报表调用请求中包含有所述用户自定义查询语句,则将该用户自定义查询语句拼接至所述目标查询语句中。
在本申请的一些实施例中,所述基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据,包括:
调用预设的可扩展接口管理接口,以基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,并基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
在本申请的一些实施例中,所述调用预设的可扩展接口管理接口,以基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的可扩展的目标报表接口,包括:
调用预设的可扩展接口管理接口,以基于预设的查询语句限流保护规则先判断所述数据仓库的连接池当前的查询连接数是否已达到最大连接数,若否,则再判断所述目标查询语句是否为预设的长耗时查询语句;
若所述目标查询语句不为所述长耗时查询语句,则确定所述目标查询语句为当前可用语句;
自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,其中,所述标准及统一管理接口文档用于存储各个可扩展的报表接口对应的接口信息;
基于预设的限流算法判断所述目标报表接口当前对应的请求数量是否超过预设限值,若否,则基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
在本申请的一些实施例中,还包括:
实时将所述目标访问地址、目标查询语句、数据源、目标报表接口以及报表查询结果数据之间的对应关系和操作过程数据存储至日志中;
周期性对所述日志进行风险行为监控及预警处理。
本申请的另一个方面提供了一种基于接口统一管理的报表查询装置,包括:
数据配置模块,用于根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;
接口统一管理模块,用于基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
本申请的第三个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于接口统一管理的报表查询方法。
本申请的第四个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于接口统一管理的报表查询方法。
本申请提供的基于接口统一管理的报表查询方法,根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据,能够实现针对数据仓库报表查询的接口统一管理,能够有效提高接口查找的可靠性及效率,并能够有效提高接口调用及报表查询的效率及便捷性,能够有效提高报表查询的安全性。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的基于接口统一管理的报表查询方法的第一种流程示意图。
图2为本申请一实施例中的基于接口统一管理的报表查询方法的第二种流程示意图。
图3为本申请一实施例中的基于接口统一管理的报表查询方法的第三种流程示意图。
图4为本申请应用实例提供的基于接口统一管理的报表查询方法的举例流程示意图。
图5为本申请一实施例中的基于接口统一管理的报表查询装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
为了解决现有的统一接口平台存在的安全性、便捷性和效率缺陷,本申请实施例分别提供一种基于接口统一管理的报表查询方法、用于执行该基于接口统一管理的报表查询方法的基于接口统一管理的报表查询装置、实体设备和计算机可读存储介质,能够实现针对数据仓库报表查询的接口统一管理,能够有效提高接口查找的可靠性及效率,并能够有效提高接口调用及报表查询的效率及便捷性,能够有效提高报表查询的安全性。。
具体通过下述实施例进行详细说明。
基于此,本申请实施例提供一种可由基于接口统一管理的报表查询装置实现的基于接口统一管理的报表查询方法,参见图1,所述基于接口统一管理的报表查询方法具体包含有如下内容:
步骤100:根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源。
在步骤100中,基于接口统一管理的报表查询装置只有在确定报表调用请求为已授权报表调用请求之后,才会获取其目标访问地址,进而能够有效提高报表查询的安全性,避免未经授权的用户获取、修改或删除敏感数据。
举例来说,本申请实施例可以使用Redis作为缓存机制,提高数据读取速度和系统的并发处理能力。
本申请实施例还可以根据不同的业务需求,合理设置缓存的过期时间和刷新策略,保证数据的准确性及时性。
本申请实施例还可以设置缓存穿透、缓存雪崩等措施,增强系统的稳定性和可靠性。
也就是说,本申请实施例支持使用缓存(如Redis)提高数据的读取速度和系统的性能。通过合理设置缓存的过期时间和刷新策略,可以减轻数据库的负载,提高响应速度和并发能力。
可以理解的是,所述目标访问地址具体可以指统一资源定位器URL(UniformResource Locator)。
另外,不同于现有技术中需要直接访问数据仓库来查找目标访问地址对应的语句,在本申请的步骤100中,基于接口统一管理的报表查询装置自本地缓存中获取对应的目标查询语句,也就是说,本地缓存预先存储有各个访问地址信息和各个查询语句之间的对应关系,且可以实时或周期性的自数据仓库中获取最新信息来更新本地缓存。
可以理解的是,所述查询语句可以指SQL语句等。
步骤200:基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
在步骤200中,通过采用查询语句限流保护规则判断所述目标查询语句是否为当前可用语句能够实现SQL限流保护,达到既能保护数据库又能满足业务需求的目标。若所述目标查询语句不是当前可用语句,则根据具体情形对其进行延后处理或将其加入消息队列中等待处理。
需要说明的是,本申请的步骤200通过预先设置标准及统一管理接口文档,并自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,能够实现数据库接口的统一管理和标准化,通过定义接口的基本信息、请求SQL等,使得接口的使用和管理更加规范和便捷。
例如:本申请实施例可以使用Spring MVC和相关注解,定义RESTful风格的接口,统一管理和标准化接口。
本申请实施例可以使用Swagger或OpenAPI自动生成接口文档,包括接口信息、请求参数、响应结果等,提高了接口的可读性和可维护性。
本申请实施例可以提供在线调试功能,使开发人员可以方便地测试和调试接口。
从上述描述可知,本申请实施例提供的基于接口统一管理的报表查询方法,能够实现针对数据仓库报表查询的接口统一管理,能够有效提高接口查找的可靠性及效率,并能够有效提高接口调用及报表查询的效率及便捷性,能够有效提高报表查询的安全性。
为了进一步提高基于接口统一管理的报表查询的安全性及可靠性,在本申请实施例提供的一种基于接口统一管理的报表查询方法中,参见图2,所述基于接口统一管理的报表查询方法中的步骤100之前还具体包含有如下内容:
步骤010:接收用户发送的目标报表调用请求。
步骤020:自预设的用户登录认证和权限管理系统中查找是否包含有所述用户的权限校验规则,若是,则基于该权限校验规则判断所述用户是否具备所述目标报表调用请求指定的目标报表接口的访问权限,而后执行步骤030。
可以理解的是,若经步骤200判定用户登录认证和权限管理系统中不包含有所述用户的权限校验规则,则向用户返回拒绝访问告知信息及注册提示等,并停止执行后续动作。
举例来说,所述用户登录认证和权限管理系统可以采用Spring Security框架,使用Spring Security框架实现用户登录认证和权限管理,提供多种认证方式和权限控制策略。而后在拦截器或注解中添加权限校验逻辑,确保只有授权用户才能访问相应的报表接口。还可以使用JWT等机制,确保用户信息的安全性和完整性。
也就是说,本申请实施例能够对用户的鉴权和权限管理进行优化。通过使用JWT等认证方式,实现安全可靠的用户登录认证;同时,在接口处理层添加权限校验的拦截器或注解,对需要授权的接口进行权限验证。
步骤030:若所述用户具备所述目标报表接口的访问权限,则将所述目标报表调用请求确定为当前的已授权报表调用请求。而后执行步骤100。
可以理解的是,若经步骤030判定所述用户不具备所述目标报表接口的访问权限,则向用户返回拒绝访问告知信息及权限受限提示等,并停止执行后续动作。
为了进一步提高获取目标访问地址对应的目标查询语句的效率及便捷性,并进一步保证数据仓库的数据安全性,在本申请实施例提供的一种基于接口统一管理的报表查询方法中,参见图2,所述基于接口统一管理的报表查询方法中的步骤100之前还具体包含有如下内容:
步骤040:自所述数据仓库中加载全部的访问地址以及每个所述访问地址各自对应的查询语句;
步骤050:将各个所述访问地址与各个所述查询语句之间的对应关系存储至本地缓存中。
也就是说,本申请实时例能够同时使用缓存技术(如Redis)来存储请求URL和对应的SQL语句。在应用启动时,从数据库中加载所有的URL和SQL,并将其缓存到Redis中。当处理请求时,从缓存中获取对应的SQL语句,并执行该SQL。
举例来说,本申请实时例可以使用Redis作为缓存机制,提高数据读取速度和系统的并发处理能力。
本申请实时例可以根据不同的业务需求,合理设置缓存的过期时间和刷新策略,保证数据的准确性及时性。
本申请实时例可以通过设置缓存穿透、缓存雪崩等措施,增强系统的稳定性和可靠性。
因此,基于上述步骤040和步骤050,本申请实施例能够支持使用缓存(如Redis)提高数据的读取速度和系统的性能。通过合理设置缓存的过期时间和刷新策略,可以减轻数据库的负载,提高响应速度和并发能力。
为了进一步提高获取目标访问地址对应的目标查询语句的安全性、效率及便捷性,并进一步保证数据仓库的数据安全性,在本申请实施例提供的一种基于接口统一管理的报表查询方法中,参见图2,所述基于接口统一管理的报表查询方法中的步骤100具体包含有如下内容:
步骤110:基于预设的访问地址验证规则对当前的已授权报表调用请求对应的目标访问地址进行格式校验。
具体来说,步骤110可以使用正则表达式或其他验证机制检查URL参数是否符合预期的格式。
在步骤110之后,若目标访问地址未通过格式校验,则不进行后续处理,并可以向用户返回地址格式修改提示等。
步骤120:若该目标访问地址通过格式校验,则判断所述已授权报表调用请求中是否还包含有用户自定义查询语句,若是,则进一步判断该用户自定义查询语句中是否包含有预设的敏感字符,若包含所述敏感字符,则对该用户自定义查询语句进行敏感字符过滤处理。
在步骤120中,若所述已授权报表调用请求中不包含有用户自定义查询语句,则直接执行步骤130。
另外,在步骤120中,若所述已授权报表调用请求中包含有用户自定义查询语句,且经进一步判断获知用户自定义查询语句中不包含有预设的敏感字符,则在步骤130中,直接将该用户自定义查询语句拼接至所述目标查询语句中。
步骤130:基于预设的自定义注解在本地缓存中的各个所述访问地址与各个所述查询语句之间的对应关系中,查找所述目标访问地址对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;其中,若所述已授权报表调用请求中包含有所述用户自定义查询语句,则将该用户自定义查询语句拼接至所述目标查询语句中。
举例来说,在本申请的一个或多个实施例中,自定义注解用于标记请求URL和对应的SQL语句。在处理请求时,通过反射机制扫描所有带有该注解的方法,并提取注解中定义的URL和SQL。然后根据请求的URL查找对应的SQL,执行该SQL语句。
同时,本申请实施例始终对用户输入进行验证和过滤。使用正则表达式或其他验证机制检查URL参数是否符合预期的格式。对于可能包含敏感字符的SQL参数,使用参数化查询或预编译语句,而不是直接将用户输入拼接到SQL查询中。
本申请实施例将输入验证和URL-SQL映射分离为两个步骤。首先对用户输入进行验证和过滤,在验证通过后,再根据输入的URL获取对应的SQL语句,确保只有合法的URL才能获取到正确的SQL。
另外,还可以使用安全性较高的框架和工具(Spring Security),以提供身份验证、授权和防御性编程功能。利用框架的安全特性来过滤输入、防止恶意攻击和提供更强的安全层级。
也就是说,本申请实施例通过动态配置请求URL和SQL实现后端数据开发。同时考虑安全性和防止注入攻击,对用户输入进行严格的验证和过滤,避免恶意请求执行非法的SQL语句。
为了进一步提高接口调用及报表查询的安全性、可靠性及便捷性,并进一步保证数据仓库的数据安全性,在本申请实施例提供的一种基于接口统一管理的报表查询方法中,参见图2,所述基于接口统一管理的报表查询方法中的步骤200具体包含有如下内容:
步骤210:调用预设的可扩展接口管理接口,以基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,并基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
具体来说,本申请实施例使用Spring Boot实现模块化和插件化设计,将不同的功能模块分离开来,降低了耦合度和复杂度。
本申请实施例提供可扩展的接口管理API和数据访问API,允许开发人员根据业务需求进行功能的定制和扩展。
本申请实施例还可以使用反射、注解等技术实现自动化配置和加载,简化了插件的管理和使用。
也就是说,本申请实施例提供了一种可扩展的架构,可以根据具体业务需求灵活地扩展和定制功能。通过模块化的设计,支持插件机制,可以方便地添加新的功能模块或扩展现有功能。
为了进一步提高接口调用及报表查询的安全性、可靠性及便捷性,并进一步保证数据仓库的数据安全性,在本申请实施例提供的一种基于接口统一管理的报表查询方法中,参见图3,所述基于接口统一管理的报表查询方法中的步骤210具体包含有如下内容:
步骤211:调用预设的可扩展接口管理接口,以基于预设的查询语句限流保护规则先判断所述数据仓库的连接池当前的查询连接数是否已达到最大连接数,若否,则再判断所述目标查询语句是否为预设的长耗时查询语句。
在步骤211中,若所述数据仓库的连接池当前的查询连接数已达到最大连接数,则不进行后续处理,并拒绝所述已授权报表调用请求或在等待预设时间后重新执行步骤211的最大连接数判断过程。
具体来说,可以通过配置数据库连接池的最大连接数和最大等待队列长度,限制同时连接数据库的请求数量。当达到限制时,新的请求将被阻塞或拒绝,从而保护数据库免受过多的并发SQL请求。
在步骤211之后,若经步骤211判断获知目标查询语句为预设的长耗时查询语句,则将其异步化处理。例如:对于耗时较长的SQL请求,将其异步化处理,将请求放入消息队列中进行排队后再执行。减少对数据库的直接压力,提高系统并发能力,并通过适当地管理和调节消息队列的消费速率来控制数据库负载。
步骤212:若所述目标查询语句不为所述长耗时查询语句,则确定所述目标查询语句为当前可用语句。
步骤213:自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,其中,所述标准及统一管理接口文档用于存储各个可扩展的报表接口对应的接口信息。
步骤214:基于预设的限流算法判断所述目标报表接口当前对应的请求数量是否超过预设限值,若否,则基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
在步骤214中,若超过预设限值,则需要进行等待预设时间后再返回步骤214进行判断,会直接拒绝当前访问请求。
举例来说,步骤214可以通过使用类似令牌桶算法限流算法,限制每个接口的访问频率。定义在指定时间内允许的最大请求数,对超过限制的请求进行拦截或延迟处理,避免数据库被频繁访问导致负载过高。
也就是说,本申请实施例能够实现SQL限流保护,达到既能保护数据库又能满足业务需求的目标。
为了进一步提高接口调用及报表查询的安全性、可靠性及便捷性,并进一步保证数据仓库的数据安全性,在本申请实施例提供的一种基于接口统一管理的报表查询方法中,参见图3,所述基于接口统一管理的报表查询方法中的步骤200之后还具体包含有如下内容:
步骤310:实时将所述目标访问地址、目标查询语句、数据源、目标报表接口以及报表查询结果数据之间的对应关系和操作过程数据存储至日志中。
步骤320:周期性对所述日志进行风险行为监控及预警处理。
本申请实施例具备完善的日志管理和监控功能。定期审核日志,监控执行情况并及时检测潜在的恶意行为。可以记录接口调用日志、错误日志等,同时,支持设置监控指标,并配合监控工具(Prometheus)实现实时监控和报警。
举例来说,本申请实施例可以使用Log4j日志框架记录接口调用日志和错误日志,方便问题排查和分析系统运行情况。
本申请实施例可以使用日志切面,将日志信息自动保存到数据库或文件中,保证日志信息的可追溯性和可恢复性。
本申请实施例可以使用Prometheus监控工具,定时采集系统的性能指标,对系统进行实时监控和预警。
本申请实施例可以记录所有执行的URL和对应的SQL语句,包括请求参数和结果等重要信息。
为了进一步说明上述基于接口统一管理的报表查询方法,本申请还提供一种基于接口统一管理的报表查询方法的具体应用实例,参见图4,本申请应用实例提供数据仓库对外接口的统一管理,用户可以针对不同的报表需求进行参数配置,即可实现报表数据查询和提供。通过提供请求的URL、数据源以及对应的SQL,进行数据查询并返回数据结果,再使用配置的URL进行数据请求,获取相应的数据结果,进而实现SQL的动态编写和灵活查询及报表展示。同时,提供了对已有URL的编辑功能,可修改SQL和查询,提交后立即生效,实现快速迭代,并且提供对SQL限流功能以保护数据库。本方法有效替代了传统的三层架构式开发,可由运维人员直接进行参数配置,实现报表展示功能,减少了开发时间和人力,节约开发成本。
在上述内容基础上,本申请应用实例具体如下功能:
1、统一性和标准化:本申请应用实例致力于实现数据库接口的统一管理和标准化,通过定义接口的基本信息、请求SQL等,使得接口的使用和管理更加规范和便捷。
具体实现手段举例如下:
(1)使用Spring MVC和相关注解,定义RESTful风格的接口,统一管理和标准化接口。
(2)使用Swagger或OpenAPI自动生成接口文档,包括接口信息、请求参数、响应结果等,提高了接口的可读性和可维护性。
(3)提供在线调试功能,使开发人员可以方便地测试和调试接口。
2、可扩展性和灵活性:本申请应用实例提供了一种可扩展的架构,可以根据具体业务需求灵活地扩展和定制功能。通过模块化的设计,支持插件机制,可以方便地添加新的功能模块或扩展现有功能。
具体实现手段举例如下:
(1)使用Spring Boot实现模块化和插件化设计,将不同的功能模块分离开来,降低了耦合度和复杂度。
(2)提供可扩展的接口管理API和数据访问API,允许开发人员根据业务需求进行功能的定制和扩展。
(3)使用反射、注解等技术实现自动化配置和加载,简化了插件的管理和使用。
3、鉴权与权限管理:本申请应用实例对用户的鉴权和权限管理进行了优化。通过使用JWT等认证方式,实现安全可靠的用户登录认证;同时,在接口处理层添加权限校验的拦截器或注解,对需要授权的接口进行权限验证。
具体实现手段举例如下:
(1)使用Spring Security框架实现用户登录认证和权限管理,提供多种认证方式和权限控制策略。
(2)在拦截器或注解中添加权限校验逻辑,确保只有授权用户才能访问相应的接口。
(3)使用JWT等机制,确保用户信息的安全性和完整性。
4、缓存与性能优化:本申请应用实例支持使用缓存(如Redis)提高数据的读取速度和系统的性能。通过合理设置缓存的过期时间和刷新策略,可以减轻数据库的负载,提高响应速度和并发能力。
具体实现手段举例如下:
(1)使用Redis作为缓存机制,提高数据读取速度和系统的并发处理能力。
(2)根据不同的业务需求,合理设置缓存的过期时间和刷新策略,保证数据的准确性及时性。
(3)通过设置缓存穿透、缓存雪崩等措施,增强系统的稳定性和可靠性。
5、日志管理和监控:本申请应用实例具备完善的日志管理和监控功能。可以记录接口调用日志、错误日志等,同时,支持设置监控指标,并配合监控工具(Prometheus)实现实时监控和报警。
具体实现手段举例如下:
(1)使用Log4j日志框架记录接口调用日志和错误日志,方便问题排查和分析系统运行情况。
(2)使用日志切面,将日志信息自动保存到数据库或文件中,保证日志信息的可追溯性和可恢复性。
(3)使用Prometheus监控工具,定时采集系统的性能指标,对系统进行实时监控和预警。
6、实现SQL限流保护,达到既能保护数据库又能满足业务需求的目标。
具体实现手段举例如下:
(1)设置并发连接数限制:通过配置数据库连接池的最大连接数和最大等待队列长度,限制同时连接数据库的请求数量。当达到限制时,新的请求将被阻塞或拒绝,从而保护数据库免受过多的并发SQL请求。
(2)设置接口访问频率限制:通过使用类似令牌桶算法限流算法,限制每个接口的访问频率。定义在指定时间内允许的最大请求数,对超过限制的请求进行拦截或延迟处理,避免数据库被频繁访问导致负载过高。
(3)异步处理:对于耗时较长的SQL请求,将其异步化处理,将请求放入消息队列中进行排队后再执行。减少对数据库的直接压力,提高系统并发能力,并通过适当地管理和调节消息队列的消费速率来控制数据库负载。
7、动态配置请求URL和SQL实现后端数据开发。同时考虑安全性和防止注入攻击,对用户输入进行严格的验证和过滤,避免恶意请求执行非法的SQL语句。
具体实现手段举例如下:
(1)自定义注解:自定义一个注解,用于标记请求URL和对应的SQL语句。在处理请求时,通过反射机制扫描所有带有该注解的方法,并提取注解中定义的URL和SQL。然后根据请求的URL查找对应的SQL,执行该SQL语句。
(2)缓存:同时使用缓存技术(如Redis)来存储请求URL和对应的SQL语句。在应用启动时,从数据库中加载所有的URL和SQL,并将其缓存到Redis中。当处理请求时,从缓存中获取对应的SQL语句,并执行该SQL。
(3)验证和过滤用户输入:始终对用户输入进行验证和过滤。使用正则表达式或其他验证机制检查URL参数是否符合预期的格式。对于可能包含敏感字符的SQL参数,使用参数化查询或预编译语句,而不是直接将用户输入拼接到SQL查询中。
(4)输入验证和URL-SQL映射分离:将输入验证和URL-SQL映射分离为两个步骤。首先对用户输入进行验证和过滤,在验证通过后,再根据输入的URL获取对应的SQL语句,确保只有合法的URL才能获取到正确的SQL。
(5)使用框架和工具:使用安全性较高的框架和工具(Spring Security),以提供身份验证、授权和防御性编程功能。利用框架的安全特性来过滤输入、防止恶意攻击和提供更强的安全层级。
(6)日志记录与监控:记录所有执行的URL和对应的SQL语句,包括请求参数和结果等重要信息。
(7)定期审核日志,监控执行情况并及时检测潜在的恶意行为。
本申请应用实例提供的方法是一个对多数据源统一数据出口的技术方案,在此基础上,实现报表对需求的快速响应。集成了Java传统报表开发的内核技术,包含了本地缓存和自动驼峰转换,可由非开发人员完成数据查询和结果展示。可以进行SQL限流保护,防止慢查询堆积,并发过高,可应对业务流量突增情况。还提供鉴权功能进行身份认证。并极大降低了开发时间和成本。
也就是说,报表无需每次上线开发,可由非开发人员进行SQL和参数配置直接提供和更新报表数据,具有灵活、及时、高可配的特点;节约了数仓统一数据出口的开发时间,降低了维护成本;丰富了数仓的接口管理方式,对多源的数据出口进行统一管理;大大提升了生产效率,报表的可维护性更加友好,各业务线对自己的工作重点有更清晰的认知;可独立部署、与业务解耦,可对外输出,产生经济社会效益。
从软件层面来说,本申请还提供一种用于执行所述基于接口统一管理的报表查询方法中全部或部分内的基于接口统一管理的报表查询装置,参见图5,所述基于接口统一管理的报表查询装置具体包含有如下内容:
数据配置模块10,用于根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;
接口统一管理模块20,用于基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
本申请提供的基于接口统一管理的报表查询装置的实施例具体可以用于执行上述实施例中的基于接口统一管理的报表查询方法的实施例的处理流程,其功能在此不再赘述,可以参照上述基于接口统一管理的报表查询方法实施例的详细描述。
所述基于接口统一管理的报表查询装置进行基于接口统一管理的报表查询的部分可以在服务器中执行,可以在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于基于接口统一管理的报表查询的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备端之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
从上述描述可知,本申请实施例提供的基于接口统一管理的报表查询装置,能够实现针对数据仓库报表查询的接口统一管理,能够有效提高接口查找的可靠性及效率,并能够有效提高接口调用及报表查询的效率及便捷性,能够有效提高报表查询的安全性。
本申请实施例还提供了一种电子设备,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的基于接口统一管理的报表查询方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的基于接口统一管理的报表查询方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于接口统一管理的报表查询方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的基于接口统一管理的报表查询方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于接口统一管理的报表查询方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于接口统一管理的报表查询方法,其特征在于,包括:
根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;
基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
2.根据权利要求1所述的基于接口统一管理的报表查询方法,其特征在于,在所述根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句之前,还包括:
接收用户发送的目标报表调用请求;
自预设的用户登录认证和权限管理系统中查找是否包含有所述用户的权限校验规则,若是,则基于该权限校验规则判断所述用户是否具备所述目标报表调用请求指定的目标报表接口的访问权限;
若所述用户具备所述目标报表接口的访问权限,则将所述目标报表调用请求确定为当前的已授权报表调用请求。
3.根据权利要求1所述的基于接口统一管理的报表查询方法,其特征在于,在所述根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句之前,还包括:
自所述数据仓库中加载全部的访问地址以及每个所述访问地址各自对应的查询语句;
将各个所述访问地址与各个所述查询语句之间的对应关系存储至本地缓存中。
4.根据权利要求1所述的基于接口统一管理的报表查询方法,其特征在于,所述根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源,包括:
基于预设的访问地址验证规则对当前的已授权报表调用请求对应的目标访问地址进行格式校验;
若该目标访问地址通过格式校验,则判断所述已授权报表调用请求中是否还包含有用户自定义查询语句,若是,则进一步判断该用户自定义查询语句中是否包含有预设的敏感字符,若包含所述敏感字符,则对该用户自定义查询语句进行敏感字符过滤处理;
基于预设的自定义注解在本地缓存中的各个所述访问地址与各个所述查询语句之间的对应关系中,查找所述目标访问地址对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;其中,若所述已授权报表调用请求中包含有所述用户自定义查询语句,则将该用户自定义查询语句拼接至所述目标查询语句中。
5.根据权利要求1所述的基于接口统一管理的报表查询方法,其特征在于,所述基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据,包括:
调用预设的可扩展接口管理接口,以基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,并基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
6.根据权利要求5所述的基于接口统一管理的报表查询方法,其特征在于,所述调用预设的可扩展接口管理接口,以基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的可扩展的目标报表接口,包括:
调用预设的可扩展接口管理接口,以基于预设的查询语句限流保护规则先判断所述数据仓库的连接池当前的查询连接数是否已达到最大连接数,若否,则再判断所述目标查询语句是否为预设的长耗时查询语句;
若所述目标查询语句不为所述长耗时查询语句,则确定所述目标查询语句为当前可用语句;
自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,其中,所述标准及统一管理接口文档用于存储各个可扩展的报表接口对应的接口信息;
基于预设的限流算法判断所述目标报表接口当前对应的请求数量是否超过预设限值,若否,则基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
7.根据权利要求1至6任一项所述的基于接口统一管理的报表查询方法,其特征在于,还包括:
实时将所述目标访问地址、目标查询语句、数据源、目标报表接口以及报表查询结果数据之间的对应关系和操作过程数据存储至日志中;
周期性对所述日志进行风险行为监控及预警处理。
8.一种基于接口统一管理的报表查询装置,其特征在于,包括:
数据配置模块,用于根据当前的已授权报表调用请求对应的目标访问地址,自本地缓存中获取对应的目标查询语句,并确定所述已授权报表调用请求对应的数据仓库中的数据源;
接口统一管理模块,用于基于预设的查询语句限流保护规则判断所述目标查询语句是否为当前可用语句,若是,则自本地预存储的标准及统一管理接口文档中调用对应的目标报表接口,以基于所述目标查询语句自所述数据源查询得到对应的报表查询结果数据。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于接口统一管理的报表查询方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于接口统一管理的报表查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311415673.9A CN117472973A (zh) | 2023-10-27 | 2023-10-27 | 基于接口统一管理的报表查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311415673.9A CN117472973A (zh) | 2023-10-27 | 2023-10-27 | 基于接口统一管理的报表查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472973A true CN117472973A (zh) | 2024-01-30 |
Family
ID=89626767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311415673.9A Pending CN117472973A (zh) | 2023-10-27 | 2023-10-27 | 基于接口统一管理的报表查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472973A (zh) |
-
2023
- 2023-10-27 CN CN202311415673.9A patent/CN117472973A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643358B (zh) | 跨租户数据泄漏隔离 | |
EP2976709B1 (en) | Systems and methods for intercepting, processing, and protecting user data through web application pattern detection | |
US7831995B2 (en) | Establishing and enforcing security and privacy policies in web-based applications | |
US7752207B2 (en) | Crawlable applications | |
US9154522B2 (en) | Network security identification method, security detection server, and client and system therefor | |
WO2020024896A1 (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
WO2011129943A1 (en) | Data services framework workflow processing | |
US20100146290A1 (en) | Token caching in trust chain processing | |
WO2020024895A1 (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
US20210141915A1 (en) | System for automatic classification and protection unified to both cloud and on-premise environments | |
KR20180074774A (ko) | 악의 웹 사이트 식별 방법, 장치 및 컴퓨터 기억매체 | |
US11416631B2 (en) | Dynamic monitoring of movement of data | |
WO2020024898A1 (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
JP6655731B2 (ja) | システム環境及びユーザ行動分析基盤の自己防御保安装置とその作動方法 | |
CN110781505A (zh) | 系统构建方法及装置、检索方法及装置、介质和设备 | |
CN112187747A (zh) | 一种远程容器登录方法、装置及电子设备 | |
JP2008015733A (ja) | ログ管理計算機 | |
WO2020024899A1 (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
US20070192324A1 (en) | Method and device for advanced cache management in a user agent | |
US20160261715A1 (en) | System and method for securing a web server | |
CN117472973A (zh) | 基于接口统一管理的报表查询方法及装置 | |
KR101318234B1 (ko) | 데이터베이스 시스템을 위한 데이터 캐시 방법 및 장치 | |
US11526446B1 (en) | Modifying caching amongst services from a history of requests and responses | |
CN112528339A (zh) | 一种基于Caché数据库的数据脱敏方法及电子设备 | |
US20200329056A1 (en) | Trusted advisor for improved security |
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 |