一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用软件框架的实现方法、系统、设备及介质与流程

2022-07-30 17:36:50 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种应用软件框架的实现方法、系统、设备及介质。


背景技术:

2.企业资源计划(enterprise resource planning,erp)系统是针对物资资源管理(物流)、人力资源管理(人流)、财务资源管理(财流)、信息资源管理(信息流)集成一体化的企业管理软件。
3.目前erp行业的使用用户越来越多,随着物联网、云计算、云应用、移动应用等技术的兴起,单体应用已无法满足大并发请求的性能要求。随着用户越来越多,目前市面上多数厂商还是采用后台单体应用,前端通过负载均衡器进行负载的方式,来缓解高并发不开发的情况。


技术实现要素:

4.为了解决上述问题,本技术提出了一种应用软件框架的实现方法,包括:通过服务网关获取用户的数据请求,并将所述数据请求发送至后端,以通过所述后端完成对所述数据请求的响应;确定所述后端的请求端点层和服务层,通过所述服务层对所述数据请求进行基础逻辑处理,并将基础逻辑处理后的所述数据请求发送至所述请求端点层中进行数据查找;若在所述请求端点层中未查找到所述数据请求相关的数据,则将所述数据请求发送至缓存层,以在所述缓存层对所述数据请求进行数据查找。
5.在一个示例中,将所述数据请求发送至所述请求端点层中进行数据查找,具体包括:确定所述请求端点层中存储的一级数据集,根据所述数据请求在所述一级数据集中进行查找;若在所述一级数据集中查找到所述数据请求相关的所述数据,则将所述数据发送至所述服务网关,以完成对所述数据请求的响应;若在所述一级数据集中未查找到所述数据请求相关的所述数据,则通过所述服务层将所述数据请求转换为二级数据请求。
6.在一个示例中,将所述数据请求发送至缓存层,以在所述缓存层对所述数据请求进行数据查找,具体包括:通过所述服务层将所述二级数据请求发送至所述缓存层;确定所述缓存层中存储的二级数据集,根据所述二级数据请求在所述二级数据集中进行查找;若在所述二级数据集中查找到所述二级数据请求相关的所述数据,则通过所述服务层将所述数据发送至所述服务网关,以完成对所述数据请求的响应;若在所述二级数据集中未查找到所述二级数据请求相关的所述数据,则通过所述服务层将所述二级数据请求转换为数据库请求。
7.在一个示例中,通过所述服务层将所述二级数据请求转换为数据库请求之后,所述方法还包括:通过所述服务层确定所述后端的数据库,并将所述数据库请求发送至所述数据库,根据所述数据库请求在所述数据库中查找所述数据,通过所述服务层将所述数据发送至所述服务网关,以完成对所述数据请求的响应。
8.在一个示例中,确定所述后端的请求端点层和服务层,具体包括:确定所述后端的多个请求端点层和多个服务层,并确定多个所述请求端点层的请求端点层状态和多个所述服务层的服务层状态;根据所述请求端点层状态确定空闲请求端点层,并根据所述服务层状态确定空闲服务层;将所述数据请求发送至所述空闲请求端点层,通过所述空闲请求端点层调用所述空闲服务层。
9.另一方面,本技术还提出了一种应用软件框架的实现系统,包括:服务网关,用于接收用户的数据请求,对所述数据请求进行注册处理和配置处理;后端,与所述服务网关连接,用于接收所述服务网关处理后的所述数据请求,并根据所述数据请求进行数据查找,以完成所述数据请求的响应;所述后端包括服务中心,所述服务中心根据纵向扩展方案设置有请求端点层和服务层,所述请求端点层接收所述数据请求并进行数据查找,所述服务层对所述数据请求进行基础逻辑处理;所述服务中心根据横向扩展方案设置为微服务模式,根据所述微服务模式设置有多个所述请求端点层和多个所述服务层。
10.在一个示例中,所述系统还包括:反向代理服务器,与所述服务网关连接,用于获取所述数据请求,并对所述数据请求进行负载均衡,将所述数据请求发送至所述服务网关;服务注册中心,与所述服务网关和所述后端连接,用于获取所述服务网关的所述数据请求,对所述数据请求进行地址注册,并对所述数据请求进行健康检查;获取所述后端根据所述数据请求返回的数据,将所述数据进行共享;配置管理器,与所述服务网关和所述后端连接,用于获取所述服务网关的所述数据请求,对所述数据请求匹配对应的配置文件,并将所述配置文件发送至所述后端。
11.在一个示例中,所述后端还包括:缓存层,与所述服务中心连接,用于接收所述服务层发送的二级数据请求;数据库,与所述服务中心连接,用于接收所述服务层发送的数据库请求;认证中心,与所述服务中心连接,用于对所述数据请求、所述二级数据请求和所述数据库请求进行身份认证。
12.另一方面,本技术还提出了一种应用软件框架的实现设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述一种应用软件框架的实现设备能够执行:如上述任意一个示例所述的方法。
13.另一方面,本技术还提出了一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:如上述任意一个示例所述的方法。
14.本技术通过横向纵向扩展能够解决高并发请求单体应用无法响应问题,能够根据并发量进行弹性横向、纵向同时扩展,并且通过二级缓存技术,缓解了高并发情况下系统的后端负担过重,各个单体之间又无法共享共用的问题,有效减少了对硬件资源的浪费。
附图说明
15.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
16.图1为本技术实施例中一种应用软件框架的实现方法的流程示意图;
17.图2为本技术实施例中一种应用软件框架的实现系统的结构示意图;
18.图3为本技术实施例中一种应用软件框架的实现设备的示意图。
具体实施方式
19.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.以下结合附图,详细说明本技术各实施例提供的技术方案。
21.目前市面上对于高并发响应的处理方式中,系统后端沉重,各个单体之间又无法共享共用,无法进行横向及纵向的同时扩展,对硬件资源的严重浪费。
22.如图1所示,为了解决上述问题,本技术实施例提供的一种应用软件框架的实现方法,应用在一种应用软件框架的实现系统中,该系统包括服务网关、后端、反向代理服务器、服务注册中心、配置管理器,其中,该后端包括缓存层、数据库、认证中心,此外该系统还与外部前端连接,以接收该前端传递的数据请求,该方法包括:
23.s101、通过服务网关获取用户的数据请求,并将所述数据请求发送至后端,以通过所述后端完成对所述数据请求的响应。
24.用户通过前端提出数据请求,该前端包括浏览器等显示设备。前端将数据请求发送至服务网关,再由服务网关将该数据请求发送至后端,以通过后端完成对数据请求的响应。该服务网关gateway能够避免暴露微服务的接口,并统一用网关进行响应任务的分配。根据该服务网关的主要功能可将服务网关涵盖为路由(route)、断言(predicate)、过滤器(filter)。
25.s102、确定所述后端的请求端点层和服务层,通过所述服务层对所述数据请求进行基础逻辑处理,并将基础逻辑处理后的所述数据请求发送至所述请求端点层中进行数据查找。
26.本技术实施例中对于数据请求的处理,应用程序的后端不再是单体模式,而是采用微服务模式。将后端进行弹性纵向扩展,分为请求端点层和服务层,请求端点层负责接收http形式的请求;服务层负责提供server服务,server服务为rpc支持以及文件、打印和命名管道共享。server服务是作为文件系统驱动器来实现的,可以解决数据请求的基础逻辑处理。通过服务层对数据请求进行基础逻辑处理,并将基础逻辑处理后的数据请求发送至请求端点层中进行数据查找。
27.在一个实施例中,后端采用弹性横向扩展,且纵向扩展后的请求端点层和服务层都可以分别进行横向扩展。如图2所示,后端包括多个请求端点层和多个服务层,接收数据请求后,确定多个请求端点层的请求端点层状态和多个服务层的服务层状态,并根据请求端点层状态确定空闲请求端点层,并根据服务层状态确定空闲服务层。将数据请求发送至空闲请求端点层,空闲请求端点层通过springcloud feign组件进行rpc调用空闲服务层。纵向、横向扩展后能够大幅度提高http请求的吞吐量,从而满足大规模的http请求响应,避免因单体请求导致的并发无响应问题。
28.s103、若在所述请求端点层中未查找到所述数据请求相关的数据,则将所述数据请求发送至缓存层,以在所述缓存层对所述数据请求进行数据查找。
29.为了进一步提高性能,后端提供了两级缓存,第一级为静态缓存,即请求端点层的数据处理,系统常用但又不经常更新的字典缓存到请求端点层中,后端服务不再频繁的从
数据库获取此类数据,减少了与数据库的交互次数,降低数据库服务器的一定压力。第二级为redis(remote dictionary server)缓存层,即远程字典服务,是一个开源的使用ansi c语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的api。在service应用中,在一级缓存中查找不到,或经常使用且又耗时的响应数据操作采用二级缓存实现,同样也减少了与数据库的交互。
30.在一个实施例中,获得数据请求后,请求端点层确定存储的数据集(在此称为一级数据集),根据数据请求在一级数据集中进行查找。若在一级数据集中查找到数据请求相关的数据,则将数据发送至服务网关,通过服务网关发送至前端,从而完成对数据请求的响应。若在一级数据集中未查找到数据请求相关的数据,则需要在二级缓存中进行查找,通过服务层与缓存层进行连接,将数据请求转换为二级数据请求,并根据二级数据请求在缓存层中进行查找。
31.在一个实施例中,服务层将二级数据请求发送至缓存层,确定缓存层中存储的数据集(在此称为二级数据集),根据二级数据请求在二级数据集中进行查找。若在二级数据集中查找到二级数据请求相关的数据,则通过服务层将数据发送至服务网关,通过服务网关发送至前端,从而完成对数据请求的响应。若在二级数据集中未查找到二级数据请求相关的数据,则还需要访问数据库进行最终的查找,通过服务层与数据库进行连接,将二级数据请求转换为数据库请求,并根据数据库请求在数据库中进行最终的查找。
32.在一个实施例中,服务层将数据库请求发送至数据库,根据数据库请求在数据库中查找数据,并将找到数据通过服务层将数据发送至服务网关,通过服务网关发送至前端,从而完成对数据请求的响应。
33.如图2所示,本技术实施例提供的一种应用软件框架的实现系统,系统包括:服务网关,用于接收用户的数据请求,对数据请求进行注册处理和配置处理。
34.后端,与服务网关连接,用于接收服务网关处理后的数据请求,并根据数据请求进行数据查找,以完成数据请求的响应。后端包括服务中心,服务中心根据纵向扩展方案设置有请求端点层和服务层,请求端点层接收数据请求并进行数据查找,服务层对数据请求进行基础逻辑处理。服务中心根据横向扩展方案设置为微服务模式,根据微服务模式设置有多个请求端点层和多个服务层。
35.在一个实施例中,系统还包括:反向代理服务器,与服务网关连接,用于获取数据请求,并对数据请求进行负载均衡,将数据请求发送至服务网关。
36.服务注册中心,与服务网关和后端连接,用于获取服务网关的数据请求,对数据请求进行地址注册,并对数据请求进行健康检查;获取后端根据数据请求返回的数据,将数据进行共享。
37.配置管理器,与服务网关和后端连接,用于获取服务网关的数据请求,对数据请求匹配对应的配置文件,并将配置文件发送至后端。
38.在一个实施例中,后端还包括:缓存层,与服务中心连接,用于接收服务层发送的二级数据请求。
39.数据库,与服务中心连接,用于接收服务层发送的数据库请求。
40.认证中心,与服务中心连接,用于对数据请求、二级数据请求和数据库请求进行身份认证。
41.如图3所示,本技术实施例还提供了一种应用软件框架的实现设备,包括:
42.至少一个处理器;以及,
43.与所述至少一个处理器通信连接的存储器;其中,
44.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述一种应用软件框架的实现设备能够执行如上述任意一个实施例所述的方法。
45.本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:如上述任意一个实施例所述的方法。
46.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
47.本技术实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
48.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
49.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
50.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
51.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
52.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
53.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
54.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
55.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
56.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献