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

日志管理方法、系统和可读存储介质与流程

2022-04-09 06:56:57 来源:中国专利 TAG:


1.本发明涉及前端技术领域,尤其涉及一种微前端架构下的日志管理方法、系统和可读存储介质。


背景技术:

2.和微服务架构对应的,微前端架构应用而生。微前端架构可以使主应用和子应用在相同的浏览器环境中运行,耦合性较高,给前端开发带来了更多创新的可能。但这种架构下,主应用无法获取各个子应用的日志,无法对子应用的日志进行统一管理,各个子应用需要单独开发日志功能,开发工作量大。


技术实现要素:

3.本技术提供一种微前端架构下的日志管理方法、系统和可读存储介质,可以减少开发工作量。
4.本技术提供一种微前端架构下的日志管理方法,所述日志管理方法包括:
5.监听应用服务器返回的响应报文;
6.在监听到所述应用服务器返回的响应报文时,若所述响应报文为子应用服务器返回给子应用的子应用响应报文,则从所述子应用响应报文中提取日志信息,并将所述日志信息存储至所述主应用服务器。
7.进一步的,所述应用服务器通过调用浏览器的xmlhttprequest对象返回响应报文,所述监听应用服务器返回的响应报文,包括:
8.依据所述xmlhttprequest对象中的状态码的取值来监听所述应用服务器是否返回所述响应报文。
9.进一步的,所述在监听到所述应用服务器返回的响应报文时,若所述响应报文为子应用服务器返回给子应用的子应用响应报文,则从所述子应用响应报文中提取日志信息,并将所述日志信息存储至所述主应用服务器,包括:
10.在监听到所述应用服务器返回的响应报文时,执行所述xmlhttprequest对象的回调函数,来判断所述响应报文是否为子应用服务器返回给子应用的子应用响应报文,若是,从所述子应用响应报文中提取日志信息,并将所述日志信息存储至所述主应用服务器。
11.进一步的,所述子应用响应报文是基于所述子应用返回给所述子应用服务器的接口调用请求生成的,所述子应用响应报文包括所述子应用所调用的接口名;
12.所述从所述子应用响应报文中提取日志信息,并将所述日志信息存储至所述主应用服务器,包括:
13.判断所述子应用响应报文中的所述接口名是否在白名单接口列表中,若不是,从所述子应用响应报文中提取日志信息,并将所述日志信息存储至所述主应用服务器。
14.进一步的,所述日志管理方法还包括:若所述子应用响应报文中的所述接口名在所述白名单列表中,将所述子应用响应报文返回给对应的所述子应用。
15.进一步的,从所述子应用响应报文中提取日志信息后,所述日志管理方法还包括:
16.将所述子应用响应报文返回给对应的所述子应用。
17.进一步的,将所述日志信息存储至所述主应用服务器后,所述日志管理方法还包括:
18.从所述主应用服务器获取所述子应用的日志信息;
19.显示所述子应用的日志信息。
20.进一步的,所述显示所述子应用的日志信息,包括:
21.在所述子应用包括多个所述子应用时,将多个所述子应用的日志信息在同一个菜单下进行展示。
22.进一步的,所述子应用响应报文是基于所述子应用发送给所述子应用服务器的接口调用请求生成的,所述子应用响应报文包括所述子应用的名称、所述子应用所调用的接口名、所述接口调用请求的请求方法,所述日志信息包括从所述子应用响应报文中提取的所述子应用的名称、所述子应用所调用的接口名、所述接口调用请求的请求方法;
23.在将所述日志信息存储至所述主应用服务器后,所述日志管理方法还包括:
24.从所述主应用服务器获取所述子应用的日志信息的统计信息,其中,所述统计信息是所述子应用的日志信息在以下至少一个维度的统计信息:
25.所述子应用的名称;
26.每个所述子应用所调用的接口名;
27.每个所述子应用发起的所述接口调用请求的请求方法。
28.进一步的,在获取到所述统计信息后,所述日志管理方法还包括:
29.在所述子应用包括多个所述子应用时,将多个所述子应用的按照相同维度进行统计的统计信息进行对比显示;和/或
30.将同一所述子应用的按照不同维度进行统计的统计信息进行对比显示。
31.本技术提供一种日志管理系统,包括一个或多个处理器,用于实现如上任一项所述的日志管理方法。
32.本技术提供一种可读存储介质,其上存储有程序,该程序被处理器执行时,实现如上任一项所述的日志管理方法。
33.本技术的日志管理方法在监听到所述应用服务器返回的响应报文时,若响应报文为子应用服务器返回给子应用的子应用响应报文,则从子应用响应报文中提取日志信息,并将日志信息存储至主应用服务器。主应用可以对各子应用的日志信息进行统一收集和管理,各个子应用可以无需再进行日志功能开发,从而达到了减少开发工作量的目的。
附图说明
34.图1是本技术的一个实施例提供的微前端架构的架构示意图;
35.图2是本技术的一个实施例提供的日志管理方法的流程图;
36.图3是一些技术中的子应用服务器返回子应用响应报文的示意流程;
37.图4是一些技术中的主应用服务器返回主应用响应报文的示意流程;
38.图5是本技术的一个实施例中的子应用服务器返回子应用响应报文的示意流程;
39.图6是本技术的一个实施例中的主应用服务器返回主应用响应报文的示意流程;
40.图7是本技术一个实施例提供的日志管理系统的模块框图。
具体实施方式
41.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本说明书一个或多个实施例相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
42.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
43.图1是本技术的一个实施例提供的微前端架构100的架构示意图。
44.在一些实施例中,微前端架构100指主应用和子应用运行于同一浏览器环境中的微前端架构,例如qiankun。微前端架构100包括浏览器10和应用服务器11,应用服务器11包括主应用服务器111和子应用服务器112。其中,主应用服务器111是微前端架构100下的主应用对应的后台服务器,子应用服务器112是主应用集成的子应用对应的后台服务器,每个子应用可以有分别对应的子应用服务器112。
45.在一些实施例中,微前端架构100下,在浏览器10的地址栏101中输入指向主应用服务器111的url地址后,浏览器10与主应用服务器111建立连接,并从主应用服务器获取主应用程序。主应用程序包括但不限于对浏览器10的页面进行渲染的程序以及嵌套的子应用程序。对浏览器10的页面进行渲染后,浏览器10可以显示主应用界面102。主应用界面102包括菜单区域103。菜单区域103包括主应用集成的各子应用的链接,比如图1中的子应用1。单击其中一个子应用对应的链接,主应用界面102的部分区域中(例如主应用界面102的右侧区域)显示对应的子应用界面。
46.在一些实施例中,在子应用界面执行新增、删除、查询等操作,可以触发子应用程序运行,使子应用发送接口调用请求给对应的子应用服务器112,由子应用服务器112在后台同步完成相应操作并返回响应报文给子应用。接口调用请求可以包括但不限于子应用名称、子应用调用的接口名、接口调用请求的请求方法(例如get、post等请求方法)、接口调用时间、在子应用界面执行操作的人员id。其中,在子应用界面的不同操作,可以对应不同的接口名。比如新增操作对应的接口名为add,删除操作对应的接口名为del。根据调用的接口名,可以确定在子应用界面执行的操作。
47.在一些实施例中,与子应用类似的,在主应用界面102的至少部分操作也可以触发主应用发送接口调用请求给主应用服务器111,由主应用服务器111在后台完成相应操作并返回响应报文给主应用。
48.在一些技术中,这种微前端架构100下,主应用和各子应用独立的与对应的应用服务器11进行数据交互。每个应用服务器11(包括主应用服务器111和各子应用服务器112)分别设置有日志功能模块,用于根据接收到的接口调用请求,生成相应的日志信息。日志信息
可以包括发送接口调用请求的应用名称(例如某个子应用名称)、接口调用请求的请求方法、调用的接口名、接口调用时间、操作是否成功的标识等。如此,以对主应用界面102和子应用界面的操作进行日志记录。在这些技术中,主应用和子应用需要分别进行日志功能开发,软件开发量较大。为此,本技术提出一种微前端架构100下的日志管理方法,可以减少软件开发工作量。
49.图2是本技术的一个实施例提供的日志管理方法的流程图。日志管理方法可应用于运行浏览器的终端设备,包括步骤s11和步骤s12。
50.步骤s11,监听应用服务器返回的响应报文。
51.在一些实施例中,应用服务器返回的响应报文包括主应用服务器返回的主应用响应报文和子应用服务器返回的子应用响应报文。主应用响应报文是基于主应用发送给主应用服务器的接口调用请求生成并返回给主应用的响应报文;子应用响应报文是基于子应用发送给子应用服务器的接口调用请求生成并返回给子应用的响应报文。
52.在一些实施例中,主应用响应报文包括但不限于发送接口调用请求的主应用的名称、主应用所调用的接口名、接口调用请求的请求方法、接口调用时间、在主应用界面执行操作的人员id,以及接口调用是否成功的标识(即操作是否成功);子应用响应报文包括但不限于发送接口调用请求的子应用的名称、子应用所调用的接口名、接口调用请求的请求方法、接口调用时间、在子应用界面执行操作的人员id,以及接口调用是否成功的标识(即操作是否成功)。
53.在一些实施例中,应用服务器通过调用浏览器的xmlhttprequest对象返回响应报文。如此,在监听应用服务器返回的响应报文时,可以依据xmlhttprequest对象中的状态码的取值来监听应用服务器是否返回响应报文。
54.在一些实施例中,至少在xmlhttprequest对象中的状态码readystate的取值为4时,确定监听到应用服务器返回响应报文。本技术通过调用浏览器的xmlhttprequest对象返回响应报文,并依据xmlhttprequest对象中的状态码的取值来监听应用服务器是否返回响应报文,监听方式简单,方案可实施性高。
55.步骤s12,在监听到应用服务器返回的响应报文时,若响应报文为子应用服务器返回给子应用的子应用响应报文,则从子应用响应报文中提取日志信息,并将日志信息存储至主应用服务器。
56.在本实施例中,在监听到应用服务器返回的响应报文时,判断响应报文是否为子应用服务器返回给子应用的子应用响应报文,若是,则从子应用响应报文中提取日志信息,并将日志信息存储至主应用服务器。
57.在一些实施例中,可根据响应报文中的信息,比如应用名称,来判断响应报文是否为子应用服务器返回给子应用的子应用响应报文。
58.在一些实施例中,上述从子应用响应报文中提取出的日志信息可以包括但不限于子应用的名称、子应用所调用的接口名、接口调用请求的请求方法、接口调用时间、在主应用界面执行操作的人员id,以及接口调用是否成功的标识(即操作是否成功)。
59.在一些实施例中,在监听到应用服务器返回的响应报文时,可通过执行xmlhttprequest对象的回调函数,来判断响应报文是否为子应用服务器返回给子应用的子应用响应报文,以及在是的情况下,从子应用响应报文中提取日志信息,并将日志信息存储
至主应用服务器。其中,回调函数包括进行响应报文判断、提取日志信息以及存储日志信息至主应用服务器的相关方法,且回调函数设置于主应用程序中。如此,在监听到应用服务器返回的响应报文时,触发执行回调函数,由主应用对应用服务器返回的响应报文进行拦截。以下通过对比进行说明。
60.图3是一些技术中的子应用服务器返回子应用响应报文的示意流程。图4是一些技术中的主应用服务器返回主应用响应报文的示意流程。图5是本技术的一个实施例中的子应用服务器返回子应用响应报文的示意流程。图6是本技术的一个实施例中的主应用服务器返回主应用响应报文的示意流程。
61.从图3和图4可以看出,在一些技术中,子应用服务器通过调用xmlhttprequest对象直接将子应用响应报文返回给子应用,主应用服务器通过调用xmlhttprequest对象直接将主应用响应报文返回给主应用,主应用和子应用相互独立的与对应的应用服务器进行数据交互。
62.从图5可以看出,子应用服务器通过调用xmlhttprequest对象返回子应用响应报文时,会触发执行回调函数(即拦截操作),实现对响应报文的判断。在响应报文为子应用响应报文时,从子应用响应报文中提取日志信息,并将提取出的日志信息存储至主应用服务器,以及在提取日志信息后,将子应用响应报文返回给对应的子应用。如此,通过拦截,子应用的日志信息被保存至主应用服务器,即主应用可以获取到子应用的日志信息。
63.而从图6可以看出,主应用服务器通过调用xmlhttprequest对象返回主应用响应报文时,同样会触发执行回调函数(即拦截操作),实现对响应报文的判断。图6所示实施例中,回调函数判断出响应报文为主应用响应报文时,不进行日志信息提取,直接将主应用响应报文返回给主应用。而主应用的日志信息可以在主应用发送接口调用请求给主应用服务器时,由主应用服务器根据接口调用请求生成。
64.可以理解的是,在其他一些实施例中,也可以是在执行回调函数时,不进行主应用响应报文和子应用响应报文的判断,针对接收到的所有响应报文,均进行日志信息提取,并存储至主应用服务器上。如此,主应用的日志信息通过拦截提取得到,可以无需在主应用发送接口调用请求给主应用服务器时,由主应用服务器根据接口调用请求生成。
65.在一些实施例中,通过xmlhttprequest对象的回调函数来实现拦截,方案可实施性高,且可根据实际情况,通过修改回调函数中的方法,来对拦截响应报文后的操作进行修改,比如对响应报文的判断逻辑、日志提取规则等进行修改,方法适应性强。
66.在一些实施例中,本技术的日志管理方法在监听到所述应用服务器返回的响应报文时,若响应报文为子应用服务器返回给子应用的子应用响应报文,则从子应用响应报文中提取日志信息,并将日志信息存储至主应用服务器。主应用可以对各子应用的日志信息进行统一收集和管理,各个子应用可以无需再进行日志功能开发,从而达到了减少开发工作量的目的。另外,本技术的日志管理方法在监听到所述应用服务器返回的响应报文时,便进行拦截,可以对任何需要进行前后端交互的操作进行日志信息提取,进而可以保证记录的日志信息准确全面。
67.进一步的,在一些实施例中,上述从子应用响应报文中提取日志信息,并将日志信息存储至主应用服务器,包括:
68.判断子应用响应报文中的接口名是否在白名单接口列表中,若不是,从子应用响
应报文中提取日志信息,并将日志信息存储至主应用服务器。
69.若子应用响应报文中的接口名在白名单列表中,将子应用响应报文返回给对应的子应用。
70.具体来说,白名单接口列表中的接口名表示无需进行日志记录的接口。例如,在子应用界面进行查询操作,这种操作对系统的影响较小,则可以将查询操作对应的接口名设置到白名单接口列表中。如此,在子应用响应报文中的接口名为查询操作对应的接口名时,则可以无需进行日志信息提取,直接将子应用响应报文返回对应的子应用。如此,达到减少日志存储空间的目的。
71.在其他一些实施例中,在主应用响应报文和子应用响应报文均需进行日志信息提取时,白名单接口列表还可以包括主应用所调用的接口名。如此,以对主应用响应报文里的接口名进行过滤。
72.进一步的,在一些实施例中,上述从子应用响应报文中提取日志信息,并将日志信息存储至主应用服务器,包括:
73.在子应用包括多个子应用的情况下,可以按照相同的日志提取规则,对多个子应用的子应用响应报文进行日志提取。相同的日志提取规则可以是在多个子应用的子应用响应报文里,提取相同的字段内容作为相应子应用的日志信息。比如子应用a和子应用b的子应用响应报文里,均提取子应用的名称、子应用所调用的接口名、接口调用请求的请求方法、接口调用时间,作为子应用a和子应用b的日志信息。如此,保证多个子应用的日志存储内容格式统一,便于查看。
74.可以理解的是,在主应用响应报文和子应用响应报文均需进行日志信息提取时,可以按照相同的日志提取规则,对主应用响应报文和子应用的子应用响应报文进行日志提取。如此,以保证主应用和子应用的日志存储内容格式统一。
75.进一步的,在一些实施例中,将日志信息存储至主应用服务器后,日志管理方法还包括:
76.从主应用服务器获取子应用的日志信息;
77.显示子应用的日志信息。
78.在一些实施例中,可以通过主应用界面对日志信息进行显示。主应用界面的菜单区域可以包括日志管理的菜单。在子应用包括多个子应用时,将多个子应用的日志信息在同一个菜单下进行显示。在本技术的日志管理方法,主应用服务器存储了主应用和所有子应用的日志信息,使得可以将多个子应用的日志信息在同一个菜单下进行显示,方便用户查看。而一些技术中的主应用和各个子应用分别进行日志记录,主应用无法访问各个子应用的子应用服务器,每个子应用的日志信息只能在相应子应用的菜单下进行显示,无法将多个子应用的日志信息在同一个菜单下进行显示。用户在进行日志信息查看时,存在不方便的问题。
79.可以理解的是,日志管理方法还可以包括:
80.从主应用服务器获取主应用的日志信息;
81.显示主应用的日志信息。
82.在一些实施例中,主应用的日志信息和子应用的日志信息可以在不同的菜单下进行显示。在其他一些实施例中,主应用的日志信息和子应用的日志信息可以在同一菜单下
进行显示。
83.进一步的,在一些实施例中,在将日志信息存储至主应用服务器后,日志管理方法还包括:
84.从主应用服务器获取子应用的日志信息的统计信息,其中,统计信息是子应用的日志信息在以下至少一个维度的统计信息:
85.子应用的名称。
86.每个子应用所调用的接口名。
87.每个子应用发起的接口调用请求的请求方法。
88.其中,可以按照子应用的名称对日志信息进行统计,统计得到的数值为每个子应用被使用的次数;按照每个子应用所调用的接口名对日志信息进行统计,统计得到的数值为用户在每个子应用的子应用操作界面所执行的各类操作的次数;按照每个子应用发起的接口调用请求的请求方法对日志信息进行统计,统计的得到的数值为每个子应用发起接口调用请求时的各个请求方法的使用次数。对日志信息进行统计,便于进行统计分析,例如对每个子应用的被使用频率、人数等进行分析。
89.在一些实施例中,在获取到统计信息后,日志管理方法还包括:
90.在子应用包括多个子应用时,将多个子应用的按照相同维度进行统计的统计信息进行对比显示。
91.将同一子应用的按照不同维度进行统计的统计信息进行对比显示。
92.比如,可以将多个子应用在每天的被使用次数进行对比显示。如此,便于确定使用频率高的子应用,进而对使用频率高的子应用进行重点关注。
93.又比如,可以将同一子应用的接口调用请求的不同请求方法的使用次数进行对比显示。如此,以分析不同请求方法的使用频率。
94.通过上述描述可知,在一些实施例中,本技术的日志管理方法可以减少软件开发量和数据库资源占用,且可实现对各子应用的日志进行统一管理。实用性较高。
95.图7是本技术一个实施例提供的日志管理系统700的模块框图。
96.日志管理系统700包括一个或多个处理器701,用于实现如上描述的日志管理方法。在一些实施例中,日志管理系统700可以包括可读存储介质709,可读存储介质709可以存储有可被处理器701调用的程序,可以包括非易失性存储介质。
97.在一些实施例中,日志管理系统700可以包括内存708和接口707。
98.在一些实施例中,日志管理系统700还可以根据实际应用包括其他硬件。
99.本技术实施例的可读存储介质709,其上存储有程序,该程序被处理器701执行时,用于实现如上描述的日志管理方法。
100.本技术可采用在一个或多个其中包含有程序代码的可读存储介质709(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。在一些实施例中,本技术包括两个可读存储介质709。可读存储介质709包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。可读存储介质709的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技
术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
101.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
102.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
103.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
再多了解一些

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

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

相关文献