CN115904895A - 用于生成操作记录的方法、装置及计算机程序产品 - Google Patents
用于生成操作记录的方法、装置及计算机程序产品 Download PDFInfo
- Publication number
- CN115904895A CN115904895A CN202211089519.2A CN202211089519A CN115904895A CN 115904895 A CN115904895 A CN 115904895A CN 202211089519 A CN202211089519 A CN 202211089519A CN 115904895 A CN115904895 A CN 115904895A
- Authority
- CN
- China
- Prior art keywords
- request
- record
- filter interface
- preset
- operation request
- 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 85
- 238000004590 computer program Methods 0.000 title claims description 15
- 238000005516 engineering process Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 62
- 238000001914 filtration Methods 0.000 claims description 55
- 238000012545 processing Methods 0.000 claims description 26
- 230000000007 visual effect Effects 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000002085 persistent effect Effects 0.000 claims description 2
- 230000009545 invasion Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000009434 installation Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种用于生成操作记录的方法、装置、电子设备、存储介质及程序产品,涉及计算机技术领域,具体涉及安全框架技术领域。具体实现方案为:确定具有记录操作请求的功能的过滤器接口,其中,过滤器接口基于预设安全框架中的过滤器接口技术实现;获取经过过滤器接口以访问后续服务程序的操作请求;通过过滤器接口,生成经过过滤器接口的操作请求的操作记录。本公开提高了生成操作记录的便捷性,对服务程序的代码的侵入性小,方便维护。
Description
技术领域
本公开涉及计算机技术领域,具体涉及安全框架技术领域,尤其涉及用于生成操作记录的方法、装置、电子设备、存储介质以及计算机程序产品,可用于生成操作记录场景下。
背景技术
基于spring框架开发的企业服务程序,大多是通过新增单独的操作记录表以生成操作记录,并在成百上千的接口业务代码中,显式地在每一个需要生成操作记录的接口或者方法中,编码新生成操作记录的逻辑代码,对代码的侵入性较大,且研发成本较高。当业务场景新增或者变化时,关联的操作记录的业务逻辑代码也需要更改,后期的维护升级成本很高。
发明内容
本公开提供了一种用于生成操作记录的方法、装置、电子设备、存储介质以及计算机程序产品。
根据第一方面,提供了一种用于生成操作记录的方法,包括:确定具有记录操作请求的功能的过滤器接口,其中,过滤器接口基于预设安全框架中的过滤器接口技术实现;获取经过过滤器接口以访问后续服务程序的操作请求;通过过滤器接口,生成经过过滤器接口的操作请求的操作记录。
根据第二方面,提供了一种用于生成操作记录的装置,包括:确定单元,被配置成确定具有记录操作请求的功能的过滤器接口,其中,过滤器接口基于预设安全框架中的过滤器接口技术实现;获取单元,被配置成获取经过过滤器接口以访问后续服务程序的操作请求;生成单元,被配置成通过过滤器接口,生成经过过滤器接口的操作请求的操作记录。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面任一实现方式描述的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面任一实现方式描述的方法。
根据第五方面,提供了一种计算机程序产品,包括:计算机程序,计算机程序在被处理器执行时实现如第一方面任一实现方式描述的方法。
根据本公开的技术,提供了一种用于生成操作记录的方法,基于预设安全框架中的过滤器接口技术实现具有记录操作请求的功能的过滤器接口,使得经过过滤器接口以访问后续服务程序的操作请求均可能被过滤器接口记录,不必在后续业务程序中每一个需要生成操作记录的接口或者方法中,编码生成操作记录的逻辑代码,提高了生成操作记录的便捷性,对服务程序的代码的侵入性小,方便维护。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的用于生成操作记录的方法的一个实施例的流程图;
图3是根据本实施例的用于生成操作记录的方法的应用场景的示意图;
图4是根据本实施例的过滤器接口的具体实现流程示意图;
图5根据本公开的操作记录生成流程的示意图;
图6是根据本公开的用于生成操作记录的方法的又一个实施例的流程图;
图7是根据本公开的用于生成操作记录的装置的一个实施例的结构图;
图8是适于用来实现本公开实施例的计算机系统的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用本公开的用于生成操作记录的方法及装置的示例性架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。终端设备101、102、103之间通信连接构成拓扑网络,网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103可以是支持网络连接从而进行数据交互和数据处理的硬件设备或软件。当终端设备101、102、103为硬件时,其可以是支持网络连接,信息获取、交互、显示、处理等功能的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如,获取终端设备101、102、103发出的操作请求,基于预设安全框架中的过滤器接口技术实现具有记录操作请求的功能的过滤器接口,以通过过滤器接口生成经过过滤器接口以访问后续服务程序的操作请求的操作记录的后台处理服务器。作为示例,服务器105可以是云端服务器。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
还需要说明的是,本公开的实施例所提供的用于生成操作记录的方法可以由服务器执行,也可以由终端设备执行,还可以由服务器和终端设备彼此配合执行。相应地,用于生成操作记录的装置包括的各个部分(例如各个单元)可以全部设置于服务器中,也可以全部设置于终端设备中,还可以分别设置于服务器和终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。当用于生成操作记录的方法运行于其上的电子设备不需要与其他电子设备进行数据传输时,该系统架构可以仅包括用于生成操作记录的方法运行于其上的电子设备(例如服务器或终端设备)。
请参考图2,图2为本公开实施例提供的一种用于生成操作记录的方法的流程图,其中,流程200包括以下步骤:
步骤201,确定具有记录操作请求的功能的过滤器接口。
本实施例中,用于生成操作记录的方法的执行主体(例如,图1中的终端设备或服务器)可以确定具有记录操作请求的功能的过滤器接口。其中,过滤器接口基于预设安全框架中的过滤器接口技术实现。
预设安全框架可以是Spring Security框架。Spring Security是一个强大的、可根据需求高度自定义的用户认证和访问控制框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(Inversion of Control,控制反转)、DI(Dependency Injection依赖注入)和AOP(Aspect Oriented Programming,面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业服务系统安全控制编写大量重复代码的工作。
Spring Security对Web安全性的支持,大量地依赖于Servlet过滤器。这些过滤器拦截进入的操作请求,并且在应用程序处理该操作请求之前进行某些安全处理。SpringSecurity提供有若干个过滤器,它们能够拦截Servlet请求,并将这些请求转给认证和访问决策管理器处理,从而增强安全性。根据自己的需要,可以使用适当的过滤器来保护自己的应用程序。Spring Security需要保证所有向Spring application发送请求的用户必须先通过认证,保证用户可以通过表单或者http的方式进行认证。具体的,Spring Security中有个WebSecurityConfigurerAdapter(网络安全配置适配器)类,通过继承这个类并重写其configure(HttpSecurity http)方法就可以按照场景需求自定义认证和授权。
本实施例中,基于Spring Security框架中的Security Filter(过滤器)接口技术实现服务程序全接口的通用操作记录生成。具体的,上述执行主体可以基于WebSecurityConfigurerAdapter适配器实现一个新的自定义配置,而通过这个自定义配置的功能实现生成企业服务所有接口的操作记录。
由于访问企业服务程序的操作请求必须都事先经过继承WebSecurityConfigurerAdapter类并重写其configure(HttpSecurity http)(配置方法)方法而实现的过滤器接口,因此,基于WebSecurityConfigurerAdapter实现具有记录操作请求的功能,可以使得经过过滤器接口以访问后续服务程序的操作请求均可能被过滤器接口记录。
步骤202,获取经过过滤器接口以访问后续服务程序的操作请求。
本实施例中,上述执行主体可以获取经过过滤器接口以访问后续服务程序的操作请求。
后续服务程序可以是提供各种服务功能的业务程序。以企业服务为例,包括客户管理系统CRM(Customer Relationship Management,客户关系管理)、办公自动化OA(Office Automation,办公自动化)系统、企业资源规划ERP(Enterprise ResourcePlanning,企业资源规划)、人力资源系统HRS(Human Resource Service,人力资源服务)等各种类型系统,而企业为了保障规章制度流程执行的标准和规范性,对企业服务系统的很多人工操作均会进行内部审计、跨部门复盘或者委托专业咨询公司进行外部审计,比如各种企业核心业务流程的发起、审批、录入、变更等操作请求,从而确保公司制定的各项规则制度流程得到全公司的规范执行,实现合规、高效等运营效果。因此,企业对企业服务系统操作记录的存储和查询是非常普遍的开发功能需求。
步骤203,通过过滤器接口,生成经过过滤器接口的操作请求的操作记录。
本实施例中,上述执行主体可以通过过滤器接口,生成经过过滤器接口的操作请求的操作记录。
操作记录可以包括操作请求的ID(Identity document,身份标识号)、请求地址、请求方式、当前请求处理的结果状态码、请求头、请求体、当前请求处理完成的时间等信息。
继续参见图3,图3是根据本实施例的用于生成操作记录的方法的应用场景的一个示意图300。在图3的应用场景中,用户301通过终端设备302向部署办公自动化系统的服务器303发出操作请求304。服务器303首先确定具有记录操作请求的功能的过滤器接口305。其中,过滤器接口305基于预设安全框架中的过滤器接口技术实现;然后,获取经过过滤器接口305以访问后续服务程序的操作请求304;最后,通过过滤器接口304,生成经过过滤器接口的操作请求的操作记录306。
本实施例中,提供了一种用于生成操作记录的方法,基于预设安全框架中的过滤器接口技术实现具有记录操作请求的功能的过滤器接口,使得经过过滤器接口以访问后续服务程序的操作请求均可能被过滤器接口记录,不必在后续业务程序中每一个需要生成操作记录的接口或者方法中,编码生成操作记录的逻辑代码,提高了生成操作记录的便捷性,对服务程序的代码的侵入性小,方便维护。
在本实施例的一些可选的实现方式中,上述执行主体在执行上述步骤201之前,还可以执行如下操作:
首先,通过访问记录配置器继承预设安全框架中的网络安全配置适配器;然后,对于访问记录配置器,重写网络安全配置适配器中的配置方法,增加过滤器接口对应的访问记录过滤器,以通过访问记录过滤器实现具有记录操作请求的功能的过滤器接口。
如图4所示,示出了过滤器接口的具体实现流程400。上述执行主体可以通过新增配置类AccessRecordConfiguration(访问记录配置器)继承WebSecurityConfigurerAdapter(网络安全配置适配器)适配器类,并重写其configure(HttpSecurity http)(配置方法)方法,对http对象通过调用方法addFilterAfter新增filter接口的实现类AccessRecordFilter(访问记录过滤器)。AccessRecordFilter主要实现生成操作请求的操作记录的功能。
本实现方式中,提供了具有记录操作请求的功能的过滤器接口的具体实现方式,提高了具有记录操作请求的功能的过滤器接口的实现过程的便捷性和效率。
在本实施例的一些可选的实现方式中,过滤器接口除了具有记录操作请求的功能,还具有过滤功能。本实现方式中,上述执行主体可以通过如下方式执行上述步骤203:
第一,对经过过滤器接口的操作请求进行过滤;第二,通过过滤器接口,生成经过过滤器接口的、过滤后的操作请求的操作记录。
作为示例,上述执行主体可以设置操作请求黑名单,以通过黑名单对接收到的操作请求进行过滤。通过在过滤器接口中添加过滤功能,提高了处理操作请求的过程中的安全性。
在本实施例的一些可选的实现方式中,过滤功能包括地址过滤功能、请求头过滤功能、请求体过滤功能中的至少一种。本实现方式中,上述执行主体可以通过如下方式执行上述第一步骤:首先,解析操作请求,得到操作请求对应的请求地址、请求头和请求体;然后,对操作请求执行以下至少一项过滤操作:根据请求地址,通过预设地址黑名单对操作请求进行过滤;根据请求头,通过预设请求头黑名单对操作请求进行过滤;根据请求体,通过表征请求体最大字节长度的预设字节限额对操作请求进行过滤。
其中,HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求头地址过滤功能:实际的Http请求有大量的请求头是不需要关注的,可以过滤这部分冗余信息。可以实现初始值以实现预设请求头黑名单,比如:"connection"、"cookie"、"accept"、"accept-encoding"、"accept-language",通过blacklistHeaderSet(黑名单标题集)变量来维护这些初始值的设置,还可以通过@Value注解实现各个服务程序的订制配置,解析操作请求详情时可以过滤这些请求头信息。
HTTP URL(Uniform Resource Locator,统一资源定位器)地址过滤功能:企业服务的部分操作请求是完全没有审计需求的,比如对于机器实例的探活请求,过滤此类操作请求可以节省存储资源和系统消耗。可以实现初始值以实现预设地址黑名单,比如:"/admin/health",通过filteredUrlSuffixList(筛选的统一资源定位器后缀列表)变量来维护这些设置,还可以通过@Value注解实现各个服务程序的订制配置,解析请求详情时可以过滤掉命中这些URL的操作请求。
请求体过滤功能:对请求体内容的长度进行最大字节限额设置,对于请求体太长的操作请求可以实现过滤处理,节省系统资源,用变量MAX_CONTENT_LENGTH(最大内容长度)维护,预设字节限额的数值比如10000,还可以通过@Value注解实现各个服务程序的订制配置,解析操作请求详情时可以过滤请求体超过这个预设字节限额的操作请求。
具体的,实现记录操作请求的功能,包括以下处理步骤:
首先,解析出完整的Http操作请求的请求地址,将http请求的ServletRequest(小服务程序请求)对象转换成HttpServletRequest(http小服务程序请求)对象,调用getQueryString(获取查询字符串)方法查询请求字符串,若请求字符串不存在则赋值空字符串;调用getRequestURL(获取请求统一资源定位器)方法并执行append(添加),拼接得到完整的http请求的请求地址。
然后,根据解析出来的完整的Http请求的请求地址,通过filteredUrlSuffixList循环遍历校验操作请求,如果与预设地址黑名单匹配,则过滤该操作请求。
然后,解析操作请求的请求头信息并保存到headerMap(标题地图)变量中,调用getHeaderNames(获取标题名称)方法获取所有操作请求的请求头信息并进行循环校验,如果blacklistHeaderSet变量包含循环到的请求头名name,则跳过处理以将其过滤掉,否则将请求头存储到headerMap变量中。
然后,把操作请求的请求体的内容解析成字符串body,首先调用方法getContentLength(获取内容长度)校验变量MAX_CONTENT_LENGTH,超过预设字节限额则不处理这个操作请求;否则,把该操作请求转换成BodyReaderHttpServletRequestWrapper(请求体阅读器Http小服务程序请求包装器)对象requestWrapper(请求包装器),并调用getReader(获取阅读器)方法获得BufferedReader(缓冲阅读器)对象reader,对reader进行循环调用readLine(读行)方法,并组合成字符串body。
需要说明的是,本实施例中还可以自定义除上述地址过滤功能、请求头过滤功能、请求体过滤功能之外的其他过滤功能,上述执行主体可以调用chain.doFilter(requestWrapper,response)(过滤器链)继续执行其他的过滤逻辑。
然后,操作请求执行完成,通过调用httpServletResponse.getStatus(http小程序服务响应获取状态)查询得到操作请求的状态码status。
最后,把上述处理步骤得到的所有数据,赋值给对象AccessRecord,生成操作请求的操作记录。
本实现方式中,提供了过滤器接口具体的过滤逻辑,提高了过滤功能的完备性和灵活性。
在本实施例的一些可选的实现方式中,上述执行主体在生成操作记录之后,还可以执行如下操作:
第一,将操作记录转换为预设数据交换格式的转换后记录。
作为示例,首先,通过调用json-lib包中的JSON Object类的fromObject(来自对象)方法,把对象AccessRecord转换成一个json对象,通过调用json对象的toString方法实现转换成JSON字符串(转换后记录)。然后,把JSON字符串,通过Log工厂类,打印输出到本地文件中。可以通过xml文件配置AccessRecordFilter所在的jar包地址(比如com.a.ex.filter)、jar包类路径对应的日志输出地址(比如/home/work/access_record.log)。
具体的,转换后记录包括如下信息:String requestId:表示当前操作请求的唯一ID,每个企业应用系统的唯一ID获取方式可能不同;String url:表示当前操作请求的完整http请求地址;String method:表示当前操作请求的请求方式,通过httpServletRequest.getMethod(Http小服务程序请求获取方法)获取;int status表示当前操作请求的结果状态码;Map<String,String>headers:表示当前操作请求有哪些请求头已经对应的值,经过过滤之后被记录;String body表示当前操作请求的请求体;timestamp:表示当前操作请求处理完成的时刻,可以通过jdk包中的System.currentTimeMillis(系统当前时间)方法获得。
第二,收集并持久化存储转换后记录。
第三,基于预设可视化查询组件进行转换后记录的可视化查询。
作为示例,基于kibana(预设可视化查询组件)实现企业服务操作记录的便捷可视化查询。kibana是开源分析和可视化平台。上述执行主体可以从应用官网下载kibana的安装包,并安装到任意一台服务机器中。为了实现ES(elasticsearch)存储集群和kibana的链接,需要在kibana.yml文件中配置ES集群的链接地址(elasticsearch.hosts:["http://192.668.1.1:9200"]),也可以修改kibana端口、日志路径等具体的技术参数。
本实现方式中,上述执行主体可实现了操作记录的持久化存储和可视化查询,进一步提高了查询操作记录的便捷性。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述第二步骤:
首先,通过部署后续服务程序的各服务机器一一对应的预设数据采集组件,采集访问该服务机器的操作请求对应的转换后记录;然后,通过预设日志处理组件,收集并解析各服务机器对应的转换后记录,得到解析后记录;最后,通过预设分布式搜索和分析引擎,持久化存储解析后记录。
具体的,预设数据采集组件例如可以是Filebeat,Filebeat文件采集过程可以通过如下方法实现:首先,从应用官网下载对应服务器版本的Filebeat程序应用版本,比如Linux/Windows/MAC,在每一个企业服务程序部署的服务机器上,安装并部署Filebeat程序,每一个单独的服务机器上均需要安装。然后,进行操作记录日志文件采集的配置,配置输入的类型和输入的机器路径。注意,一个Filebeat可以实现对服务机器上的多个企业服务程序的采集。
最后,进行采集输出Logstash的组件配置,如上文件所示,假设Logstash的组件的访问方式(VIP+端口)为10.16.194.110:8088,则在技术文件中进行hosts的配置。
预设日志处理组件例如可以是logstash。基于logstash组件实现JSON格式串的收集和解析,logstash组件在整个系统中的定位是汇聚各个Filebeat采集的操作记录,实时把JSON字符串解析成多个字段,并输出内容到下一个系统存储组件。对于logstash组件:1、从应用官网下载logstash对应服务器的版本,选取一个服务机器进行安装。这和每个服务机器都要部署Filebeat不同,logstash只需要安装一次。Filebeat组件在服务机器采集成功之后,通过logstash host链接到logstash组件,并实时传输已经采集的文件内容,Logstash网络链接方式通过如下示例技术文件logstash-es.conf配置实现访问方式的注册。其中,端口参数通过port指定,ip通过机器指令查询本地IP查询得到,编码格式指定是json。因为在spring框架中有对操作记录对象进行json编码,这里需要做对应的json格式解码。
2、logstash收集到文件内容之后,logstash组件进行json解析之后,需要把json字符串解析内容通过网络链接传递给下一个elasticsearch存储组件,elasticsearch实例可以通过集群的方式管理多台elasticsearch实例节点,hosts参数可以配置多个实例节点的访问地址,如上面的技术参数说明一个实例节点的访问地址实例。
预设分布式搜索和分析引擎例如可以是elasticsearch。基于elasticsearch搭建的集群,实现企业服务操作记录的统一存储,elasticsearch是非常优秀的大数据存储组件,支持便捷的RESTFUL API查询。
elasticsearch是使用java构建的,所以必须先准备java程序允许环境,为服务机器安装JDK(Java Development Kit,Java开发工具包),且至少是java 8版本。从应用官网下载elasticsearch的安装包,并安装到任意一台服务机器中,安装之后通过bin路径下的elasticsearch启动实例,可以通过elasticsearch.yml的配置实现自定义的端口号,端口号默认是9200,ES集群配置、ip通过机器指令查询本地IP查询得到,和logstash的输出的配置相一致。
本实现方式中,提供了收集并持久化存储转换后记录的具体实现方式,基于预设数据采集组件、预设日志处理组件以及预设分布式搜索和分析引擎之间的配合,提高了信息处理效率和准确度。
继续参考图5,示出了本实施例的操作记录生成系统的结构示意图。通过spring框架产生操作记录的具体信息并存储到服务机器的对应路径中,再通过Filebeat把成百上千个服务机器的操作记录文件进行收集和传输,再通过logstash对收集到的日志内容进行json解析并进行传输,之后通过elasticsearch集群进行操作记录数据的存储,最终通过kibana实现操作记录信息的便捷查询。
继续参考图6,示出了根据本公开的用于生成操作记录的方法的又一个实施例的示意性流程600,包括以下步骤:
步骤601,通过访问记录配置器继承预设安全框架中的网络安全配置适配器。
步骤602,对于访问记录配置器,重写网络安全配置适配器中的配置方法,增加过滤器接口对应的访问记录过滤器,以通过访问记录过滤器实现具有记录操作请求的功能的过滤器接口。
步骤603,确定具有记录操作请求的功能的过滤器接口。
步骤604,获取经过过滤器接口以访问后续服务程序的操作请求。
步骤605,对经过过滤器接口的操作请求进行过滤。
步骤606,通过过滤器接口,生成经过过滤器接口的、过滤后的操作请求的操作记录。
步骤607,将操作记录转换为预设数据交换格式的转换后记录。
步骤608,收集并持久化存储转换后记录。
步骤609,基于预设可视化查询组件进行转换后记录的可视化查询。
从本实施例中可以看出,与图2对应的实施例相比,本实施例中的用于生成操作记录的方法的流程600具体说明了过滤器接口的实现过程、过滤器接口的操作记录生成过程以及操作记录的可视化查询过程,提高了操作记录生成、存储、查询的便捷性,对服务程序的代码的侵入性小,方便维护。
继续参考图7,作为对上述各图所示方法的实现,本公开提供了一种用于生成操作记录的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,用于生成操作记录的装置700包括:确定单元701,被配置成确定具有记录操作请求的功能的过滤器接口,其中,过滤器接口基于预设安全框架中的过滤器接口技术实现;获取单元702,被配置成获取经过过滤器接口以访问后续服务程序的操作请求;生成单元703,被配置成通过过滤器接口,生成经过过滤器接口的操作请求的操作记录。
在本实施例的一些可选的实现方式中,上述装置还包括:继承单元(图中未示出),被配置成通过访问记录配置器继承预设安全框架中的网络安全配置适配器;实现单元(图中未示出),被配置成对于访问记录配置器,重写网络安全配置适配器中的配置方法,增加过滤器接口对应的访问记录过滤器,以通过访问记录过滤器实现具有记录操作请求的功能的过滤器接口。
在本实施例的一些可选的实现方式中,过滤器接口还具有过滤功能;以及生成单元703,进一步被配置成:对经过过滤器接口的操作请求进行过滤;通过过滤器接口,生成经过过滤器接口的、过滤后的操作请求的操作记录。
在本实施例的一些可选的实现方式中,过滤功能包括地址过滤功能、请求头过滤功能、请求体过滤功能中的至少一种;以及生成单元703,进一步被配置成:解析操作请求,得到操作请求对应的请求地址、请求头和请求体;对操作请求执行以下至少一项过滤操作:根据请求地址,通过预设地址黑名单对操作请求进行过滤;根据请求头,通过预设请求头黑名单对操作请求进行过滤;根据请求体,通过表征请求体最大字节长度的预设字节限额对操作请求进行过滤。
在本实施例的一些可选的实现方式中,上述装置还包括:转换单元(图中未示出),被配置成将操作记录转换为预设数据交换格式的转换后记录;收集存储单元(图中未示出),被配置成收集并持久化存储转换后记录;可视化查询单元(图中未示出),被配置成基于预设可视化查询组件进行转换后记录的可视化查询。
在本实施例的一些可选的实现方式中,收集存储单元(图中未示出),进一步被配置成:通过部署后续服务程序的各服务机器一一对应的预设数据采集组件,采集访问该服务机器的操作请求对应的转换后记录;通过预设日志处理组件,收集并解析各服务机器对应的转换后记录,得到解析后记录;通过预设分布式搜索和分析引擎,持久化存储解析后记录。
本实施例中,提供了一种用于生成操作记录的装置,基于预设安全框架中的过滤器接口技术实现具有记录操作请求的功能的过滤器接口,使得经过过滤器接口以访问后续服务程序的操作请求均可能被过滤器接口记录,不必在后续业务程序中每一个需要生成操作记录的接口或者方法中,编码生成操作记录的逻辑代码,提高了生成操作记录的便捷性,对后续服务程序的代码的侵入性小,方便维护。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的用于生成操作记录的方法。
根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的用于生成操作记录的方法。
本公开实施例提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的用于生成操作记录的方法。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如用于生成操作记录的方法。例如,在一些实施例中,用于生成操作记录的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的用于生成操作记录的方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行用于生成操作记录的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷;也可以为分布式系统的服务器,或者是结合了区块链的服务器。
根据本公开实施例的技术方案,提供了一种用于生成操作记录的方法,基于预设安全框架中的过滤器接口技术实现具有记录操作请求的功能的过滤器接口,使得经过过滤器接口以访问后续服务程序的操作请求均可能被过滤器接口记录,不必在后续业务程序中每一个需要生成操作记录的接口或者方法中,编码生成操作记录的逻辑代码,提高了生成操作记录的便捷性,对后续服务程序的代码的侵入性小,方便维护。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (15)
1.一种用于生成操作记录的方法,包括:
确定具有记录操作请求的功能的过滤器接口,其中,所述过滤器接口基于预设安全框架中的过滤器接口技术实现;
获取经过所述过滤器接口以访问后续服务程序的操作请求;
通过所述过滤器接口,生成经过所述过滤器接口的操作请求的操作记录。
2.根据权利要求1所述的方法,其中,在所述确定具有记录操作请求的功能的过滤器接口之前,还包括:
通过访问记录配置器继承所述预设安全框架中的网络安全配置适配器;
对于所述访问记录配置器,重写所述网络安全配置适配器中的配置方法,增加所述过滤器接口对应的访问记录过滤器,以通过所述访问记录过滤器实现具有记录操作请求的功能的所述过滤器接口。
3.根据权利要求1所述的方法,其中,所述过滤器接口还具有过滤功能;以及
所述通过所述过滤器接口,生成经过所述过滤器接口的操作请求的操作记录,包括:
对经过所述过滤器接口的操作请求进行过滤;
通过所述过滤器接口,生成经过所述过滤器接口的、过滤后的操作请求的操作记录。
4.根据权利要去3所述的方法,其中,所述过滤功能包括地址过滤功能、请求头过滤功能、请求体过滤功能中的至少一种;以及
所述对经过所述过滤器接口的操作请求进行过滤,包括:
解析所述操作请求,得到所述操作请求对应的请求地址、请求头和请求体;
对所述操作请求执行以下至少一项过滤操作:
根据所述请求地址,通过预设地址黑名单对所述操作请求进行过滤;
根据所述请求头,通过预设请求头黑名单对所述操作请求进行过滤;
根据所述请求体,通过表征请求体最大字节长度的预设字节限额对所述操作请求进行过滤。
5.根据权利要求1所述的方法,其中,还包括:
将所述操作记录转换为预设数据交换格式的转换后记录;
收集并持久化存储所述转换后记录;
基于预设可视化查询组件进行所述转换后记录的可视化查询。
6.根据权利要求5所述的方法,其中,所述收集并持久化存储所述转换后记录,包括:
通过部署所述后续服务程序的各服务机器一一对应的预设数据采集组件,采集访问该服务机器的操作请求对应的转换后记录;
通过预设日志处理组件,收集并解析各服务机器对应的转换后记录,得到解析后记录;
通过预设分布式搜索和分析引擎,持久化存储所述解析后记录。
7.一种用于生成操作记录的装置,包括:
确定单元,被配置成确定具有记录操作请求的功能的过滤器接口,其中,所述过滤器接口基于预设安全框架中的过滤器接口技术实现;
获取单元,被配置成获取经过所述过滤器接口以访问后续服务程序的操作请求;
生成单元,被配置成通过所述过滤器接口,生成经过所述过滤器接口的操作请求的操作记录。
8.根据权利要求7所述的装置,其中,还包括:
继承单元,被配置成通过访问记录配置器继承所述预设安全框架中的网络安全配置适配器;
实现单元,被配置成对于所述访问记录配置器,重写所述网络安全配置适配器中的配置方法,增加所述过滤器接口对应的访问记录过滤器,以通过所述访问记录过滤器实现具有记录操作请求的功能的所述过滤器接口。
9.根据权利要求7所述的装置,其中,所述过滤器接口还具有过滤功能;以及
所述生成单元,进一步被配置成:
对经过所述过滤器接口的操作请求进行过滤;通过所述过滤器接口,生成经过所述过滤器接口的、过滤后的操作请求的操作记录。
10.根据权利要去9所述的装置,其中,所述过滤功能包括地址过滤功能、请求头过滤功能、请求体过滤功能中的至少一种;以及
所述生成单元,进一步被配置成:
解析所述操作请求,得到所述操作请求对应的请求地址、请求头和请求体;对所述操作请求执行以下至少一项过滤操作:根据所述请求地址,通过预设地址黑名单对所述操作请求进行过滤;根据所述请求头,通过预设请求头黑名单对所述操作请求进行过滤;根据所述请求体,通过表征请求体最大字节长度的预设字节限额对所述操作请求进行过滤。
11.根据权利要求7所述的装置,其中,还包括:
转换单元,被配置成将所述操作记录转换为预设数据交换格式的转换后记录;
收集存储单元,被配置成收集并持久化存储所述转换后记录;
可视化查询单元,被配置成基于预设可视化查询组件进行所述转换后记录的可视化查询。
12.根据权利要求11所述的装置,其中,所述收集存储单元,进一步被配置成:
通过部署所述后续服务程序的各服务机器一一对应的预设数据采集组件,采集访问该服务机器的操作请求对应的转换后记录;通过预设日志处理组件,收集并解析各服务机器对应的转换后记录,得到解析后记录;通过预设分布式搜索和分析引擎,持久化存储所述解析后记录。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
15.一种计算机程序产品,包括:计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211089519.2A CN115904895A (zh) | 2022-09-07 | 2022-09-07 | 用于生成操作记录的方法、装置及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211089519.2A CN115904895A (zh) | 2022-09-07 | 2022-09-07 | 用于生成操作记录的方法、装置及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904895A true CN115904895A (zh) | 2023-04-04 |
Family
ID=86487229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211089519.2A Pending CN115904895A (zh) | 2022-09-07 | 2022-09-07 | 用于生成操作记录的方法、装置及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904895A (zh) |
-
2022
- 2022-09-07 CN CN202211089519.2A patent/CN115904895A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10951552B2 (en) | Generation of a chatbot interface for an application programming interface | |
US8478800B1 (en) | Log streaming facilities for computing applications | |
CN111741016B (zh) | 用于管理应用接口的方法、计算设备和计算机存储介质 | |
US11546380B2 (en) | System and method for creation and implementation of data processing workflows using a distributed computational graph | |
CN109670297B (zh) | 业务权限的开通方法、装置、存储介质及电子设备 | |
US20210385251A1 (en) | System and methods for integrating datasets and automating transformation workflows using a distributed computational graph | |
US10521246B1 (en) | Application programming interface endpoint analysis and modification | |
US11297105B2 (en) | Dynamically determining a trust level of an end-to-end link | |
CN107153599B (zh) | 一种记录以及回放用户操作的方法及设备 | |
US10735370B1 (en) | Name based internet of things (IoT) data discovery | |
US11108835B2 (en) | Anomaly detection for streaming data | |
CN110011875A (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN111427613A (zh) | 一种应用程序接口api管理方法和装置 | |
KR20220107053A (ko) | 맞춤형 통합 플로 템플레이트들의 제공 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN115543479A (zh) | 一种适用于动态参数的接口调用解析方法及装置 | |
JP2023514989A (ja) | 構造化ログイベントを用いたワークフローの支援および自動化 | |
CN110083501A (zh) | 接口调用计数方法和装置 | |
US10365998B2 (en) | Modifying monitoring configurations that support analytics programs | |
US20200401336A1 (en) | Dynamic api allocation based on data-tagging | |
US20170223136A1 (en) | Any Web Page Reporting and Capture | |
KR20210000041A (ko) | 로그 데이터의 실시간 분석 방법 및 그 장치 | |
CN115904895A (zh) | 用于生成操作记录的方法、装置及计算机程序产品 | |
CN114143079B (zh) | 包过滤策略的验证装置及方法 | |
CN112346774A (zh) | 一种应用安装包的生成方法和装置 |
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 |