接口信息存储方法、装置、服务器及分布式业务系统与流程

文档序号:24646162发布日期:2021-04-13 15:13阅读:171来源:国知局
接口信息存储方法、装置、服务器及分布式业务系统与流程

1.本发明实施例涉及信息技术领域,尤其涉及一种接口信息存储方法、装置、服务器及分布式业务系统。


背景技术:

2.伴随着分布式系统和微服务技术的不断发展,分布式及微服务架构已经变成现在业务处理系统的主流方向。分布式系统是由通信网络互联的多处理机体系结构上执行任务的系统,包括分布式操作系统、分布式程序设计语言及其编译系统、分布式文件系统分布式数据库系统等。在分布式系统中,可通过在数据库服务器中存储接口报文数据,便于定位接口访问的请求参数。
3.现有技术中,通过代码手动获取接口报文,将接口报文存储到数据库服务器中,管理人员可通过访问数据库服务器查询接口访问的请求参数。
4.然而,数据库服务器中不仅存储了接口报文,还存储了业务信息。当数据库服务器收集的接口报文的数据量较大时,导致数据库服务器的数据存储压力过大,影响数据库服务器处理业务信息的效率。


技术实现要素:

5.本发明实施例提供一种接口信息存储方法、装置、服务器及分布式业务系统,以实现缓解数据库服务器的数据存储压力的目的。
6.第一方面,本发明实施例提供一种接口信息存储方法,所述方法包括:
7.获取业务请求,并根据所述业务请求确定接口监听类型;
8.根据所述业务请求执行业务操作,并根据所述接口监听类型获取接口信息;
9.将所述接口信息发送至存储服务器中,以使所述存储服务器将所述接口信息存储在数据库中。
10.在一种可能的实现方式中,所述根据所述接口监听类型获取接口信息,包括:
11.根据所述接口监听类型确定目标接口,并获取所述目标接口的接口日志;
12.根据所述接口日志的数据增量确定接口信息。
13.在一种可能的实现方式中,所述获取所述目标接口的接口日志,包括:
14.根据aop模块获取所述目标接口的接口处理日志,并根据所述接口处理日志获取所述目标接口的接口日志。
15.在一种可能的实现方式中,所述根据所述接口日志的数据增量确定接口信息,包括:
16.根据logback日志模块,将所述接口日志存储在预设文件中;
17.根据dts获取所述预设文件的数据增量,并根据所述数据增量确定接口信息。
18.在一种可能的实现方式中,在所述将所述接口信息发送至存储服务器中之后,还包括:
19.获取检索请求,并将所述检索请求发送至存储服务器,以使所述存储服务器根据所述数据库获取所述检索请求对应的目标接口信息;
20.接收所述存储服务器返回的所述目标接口信息。
21.第二方面,本发明实施例提供一种接口信息存储装置,包括:
22.确定模块,用于获取业务请求,并根据所述业务请求确定接口监听类型;
23.获取模块,用于根据所述业务请求执行业务操作,并根据所述接口监听类型获取接口信息;
24.发送模块,用于将所述接口信息发送至存储服务器中,以使所述存储服务器将所述接口信息存储在数据库中。
25.第三方面,一种业务服务器,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的接口信息存储方法。
26.第四方面,本发明实施例提供一种分布式业务系统,包括至少一个如第三方面所述的业务服务器以及存储服务器。
27.第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的接口信息存储方法。
28.第六方面,本发明实施例提供计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的接口信息存储方法。
29.本实施例提供的接口信息存储方法、装置、服务器及分布式业务系统,通过根据业务请求确定接口监听类型以及根据业务请求执行业务操作,并根据接口监听类型获取接口信息,通过将接口信息发送至存储服务器中,使得存储服务器存储接口信息,缓解了现有数据库服务器的数据存储压力。
附图说明
30.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
31.图1为本发明实施例提供的分布式业务系统的结构示意图;
32.图2为本发明实施例提供的接口信息存储方法的流程示意图一;
33.图3为本发明实施例提供的接口信息存储方法的流程示意图二;
34.图4为本发明实施例提供的接口信息存储装置的结构示意图;
35.图5为本发明实施例提供的业务服务器的结构示意图。
具体实施方式
36.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.分布式系统是支持分布式处理的软件系统,是由通信网络互联的多处理机体系结构上执行任务的系统。包括分布式操作系统、分布式程序设计语言及其编译系统、分布式文件系统分布式数据库系统等;微服务是一种服务间松耦合的、每个服务之间高度自治并且使用轻量级协议进行通信的可持续集成部署的分布式架构体系。分布式业务系统中涉及的功能点大部分都需要访问外部系统获取,分布式业务系统中的每个业务功能会成为一个单独服务部署。随着每个系统提供的能力也越来越多,系统与系统之间的服务调用越来越多。现有技术中实现定位接口访问的请求参数时,是通过代码手动获取接口报文,将接口报文存储到数据库服务器中,管理人员可通过访问数据库服务器查询接口访问的请求参数。
38.然而,数据库服务器中不仅存储了接口报文,还存储了业务信息。当数据库服务器收集的接口报文的数据量较大时,导致数据库服务器的数据存储压力过大,影响数据库服务器处理业务信息的效率。
39.为了解决上述技术问题,本发明实施例提出了一种基于springmvc框架底层aop面向切面原理,使用自动拦截请求,配合logback日志功能,将日志方式输出到指定的目标路径文件下,再通过dts监听日志文件里增量变化数据,实时将增量变化数据同步到存储服务器中,使得存储服务器存储接口信息,缓解了现有数据库服务器的数据存储压力。下面采用详细的实施例进行详细说明。
40.图1为本发明实施例提供的分布式业务系统的结构示意图。如图1所示,本发明实施例提供的分布式业务系统包括多台业务服务器10以及一台存储服务器20,由多台业务服务器10以及一台存储服务器20通过总线建立连接,组成了一个分布式系统。通过将业务程序根据业务模块进行拆分,将每台业务服务器10作为一个单独的业务模块,实现了业务程序的分布式部署。存储服务器20用于存储所有业务服务器10获取的接口信息。
41.图2为本发明实施例提供的接口信息存储方法的流程示意图一。本发明实施例的执行主体可以为图1所示的业务服务器10。如图2所示,本发明实施例提供的接口信息存储方法包括如下步骤:
42.s201:获取业务请求,并根据业务请求确定接口监听类型。
43.在本发明实施例中,根据业务系统的客户端接收用户提交的业务请求,不同的业务请求在执行过程中调用的接口类型也不同,因此可以根据业务请求确定接口监听类型。其中,接口监听类型包括http、restful、hsf、dubbo、webservice等。
44.s202:根据业务请求执行业务操作,并根据接口监听类型获取接口信息。
45.在本发明实施例中,在根据用户提交的业务请求执行相应的业务操作时,为了后续查询该用户提交的请求中具体的操作内容,可在执行业务请求的过程中,根据接口监听类型获取接口信息。具体的,可根据接口监听类型确定目标接口,并获取目标接口的接口日志,并根据接口日志的数据增量确定接口信息。接口监听类型与业务请求对应,在获取接口信息的过程中,无需获取所有接口的处理信息,只需获取与接口监听类型对应的目标接口的处理信息。
46.s203:将接口信息发送至存储服务器中,以使存储服务器将接口信息存储在数据库中。
47.在本发明实施例中,业务服务器在根据业务请求执行业务的过程中,通过收集接口的信息,可记录业务请求对应的所有接口信息。业务服务器将接口信息发送至存储服务器中,使得存储服务器将接口信息存储在数据库中。具体的,存储服务器是一款具备搜索引擎以及数据存储功能的服务器,它提供了一个分布式多用户能力的全文搜索引擎,实现了分布式实时文件存储。
48.从上述实施例可知,通过设置业务服务器根据业务请求确定接口监听类型以及根据业务请求执行业务操作,并根据接口监听类型获取接口信息;并通过新增加一个用于存储接口信息的存储服务器,通过将接口信息发送至存储服务器中,使得存储服务器存储接口信息,缓解了现有数据库服务器的数据存储压力。
49.图3为本发明实施例提供的接口信息存储方法的流程示意图二。在图2提供的实施例的基础上,在s203将接口信息发送至存储服务器中之后,如图3所示,该方法还包括:
50.s301:获取检索请求,并将检索请求发送至存储服务器,以使存储服务器根据数据库获取检索请求对应的目标接口信息。
51.在本发明实施例中,业务服务器为用户提供了一个用于查询接口信息的日志管理系统,用户可以通过登录日志管理系统输入查询条件进行查询接口信息的操作。业务服务器通过日志管理系统接收用户提交的检索请求,其中,存储服务器中存储的接口信息中携带了用户的身份标识,检索请求中也携带了用户的身份标识,因此存储服务器根据数据库可以通过筛选用户的身份标识获取检索请求对应的目标接口信息。具体的,存储服务器支持elasticsearch搜索引擎。其中是elasticsearch搜索引擎业界公认的全文检索工具,具有处理海量数据特有的优点,支持自定义参数查询,能够快速检索返回结果。
52.s302:接收存储服务器返回的目标接口信息。
53.在本发明实施例中,业务服务器在接收存储服务器返回的目标接口信息后,在日志管理系统上显示查询的目标接口信息。
54.从上述实施例可知,将所有业务服务器执行业务过程中的接口信息进行统一收集、统一存储、统一检索,大大提升了检索接口的效率,降低了查询接口信息对于主机、数据库服务器的影响。
55.在一种可能的实现方式中,在获取目标接口的接口日志的过程中,可根据aop模块获取目标接口的接口处理日志,并根据接口处理日志获取目标接口的接口日志;并根据logback日志模块,将接口日志存储在预设文件中,并根据dts获取预设文件的数据增量,并根据数据增量确定接口信息。
56.具体的,通过在配置文件中配置springmvc框架底层aop面向切面,通过springmvc中的aop面向切面原理监听接口处理日志,通过反射和序列化方式解析获取目标接口的接口日志,并通过logback日志模块配置日志的格式和规范,将接口日志输出到预设文件下,并通过dts主动监听对应日志文件增量变化数据确定接口信息。
57.在本发明实施例中,springmvc面向切面aop是一种面向切面的编程范式,通过分离横切关注点,提高模块化,实现跨越对象关注点的目的。aop的典型应用即spring的事务机制,日志记录。利用aop可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。aop的主要功能是:日志记录、性能统计、安全控制、事务处理、异常处理等等;主要的意图是:将日志记录、性能统
计、安全控制、事务处理、异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。logback日志模块可以灵活设置日志级别、日志路径和日志大小,支持日志文件名称自定义和备份删除等功能。在本发明实施例中,通过springmvc底层技术原理,自动获取请求的路径,并且能按自定义方式获取要捕获的接口方法;使用logback日志模块设置指定日志主机存放位置,并设置大小及日志保留时间,避免占用磁盘空间。
58.在本发明实施例中,dts实时同步工具能够实现、数据主动监听和数据传输功能,由于其架构本身的高性能、高可靠、高扩展特效,而且与drds能做到无缝衔接。通过dts同步工具,对预设文件进行监听,如果有新增的数据,实时将数据同步到存储服务器。
59.从上述实施例可知,通过springmvc底层技术原理,自动获取请求的路径,并且能按自定义方式获取要捕获的接口方法;使用logback设置指定日志主机存放位置,并设置大小及日志保留时间,避免占用磁盘空间
60.图4为本发明实施例提供的接口信息存储装置的结构示意图。如图4所示,该接口信息存储装置包括:确定模块41、获取模块42以及发送模块43。
61.确定模块41,用于获取业务请求,并根据所述业务请求确定接口监听类型。
62.获取模块42,用于根据所述业务请求执行业务操作,并根据所述接口监听类型获取接口信息。
63.发送模块43,用于将所述接口信息发送至存储服务器中,以使所述存储服务器将所述接口信息存储在数据库中。
64.在一种可能的实现方式中,所述获取模块42具体还用于根据所述接口监听类型确定目标接口,并获取所述目标接口的接口日志;根据所述接口日志的数据增量确定接口信息。
65.在一种可能的实现方式中,所述获取模块42具体还用于根据aop模块获取所述目标接口的接口处理日志,并根据所述接口处理日志获取所述目标接口的接口日志。
66.在一种可能的实现方式中,所述获取模块42具体还用于根据logback日志模块,将所述接口日志存储在预设文件中;根据dts获取所述预设文件的数据增量,并根据所述数据增量确定接口信息。
67.在一种可能的实现方式中,所述接口信息存储装置还包括接收模块,所述接收模块用于获取检索请求,并将所述检索请求发送至存储服务器,以使所述存储服务器根据所述数据库获取所述检索请求对应的目标接口信息;接收所述存储服务器返回的所述目标接口信息。
68.在本实施例中,该接口信息存储装置可以采用上述图2、图3所示实施例的方法以及所有业务服务器所执行方法,其技术方案及其技术效果相类似,此处不在赘述。具体可以参见前述方法实施例中的相关描述。
69.图5为本发明实施例提供的业务服务器的结构示意图。如图5所示,本实施例的业务服务器包括:至少一个处理器501和存储器502。其中:存储器502,用于存储计算机执行指令;处理器501,执行所述计算机程序时实现如下步骤:
70.获取业务请求,并根据所述业务请求确定接口监听类型;根据所述业务请求执行业务操作,并根据所述接口监听类型获取接口信息;将所述接口信息发送至存储服务器中,
以使所述存储服务器将所述接口信息存储在数据库中。
71.在一种可能的设计中,所述处理器501执行所述计算机程序时还实现如下步骤:
72.根据所述接口监听类型确定目标接口,并获取所述目标接口的接口日志;根据所述接口日志的数据增量确定接口信息。
73.在一种可能的设计中,所述处理器501执行所述计算机程序时还实现如下步骤:
74.根据aop模块获取所述目标接口的接口处理日志,并根据所述接口处理日志获取所述目标接口的接口日志。
75.在一种可能的设计中,所述处理器501执行所述计算机程序时还实现如下步骤:
76.根据logback日志模块,将所述接口日志存储在预设文件中;根据dts获取所述预设文件的数据增量,并根据所述数据增量确定接口信息。
77.在一种可能的设计中,所述处理器501执行所述计算机程序时还实现如下步骤:
78.获取检索请求,并将所述检索请求发送至存储服务器,以使所述存储服务器根据所述数据库获取所述检索请求对应的目标接口信息;接收所述存储服务器返回的所述目标接口信息。
79.在一种可能的设计中,存储器502既可以是独立的,也可以跟处理器501集成在一起。
80.当存储器502独立设置时,该业务服务器还包括总线503,用于连接所述存储器502和处理器501。
81.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述业务服务器所执行的接口信息存储方法。
82.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述业务服务器所执行的接口信息存储方法。
83.本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上所述业务服务器所执行的接口信息存储方法。
84.在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
85.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
86.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
87.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存
储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
88.应理解,上述处理器可以是中央处理单元(central processing unit,简称cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
89.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
90.总线可以是工业标准体系结构(industry standard architecture,简称isa)总线、外部设备互连(peripheral component interconnect,简称pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
91.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
92.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
93.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
94.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1