CN114327615B - 一种基于大数据的接口文档生成方法及系统 - Google Patents
一种基于大数据的接口文档生成方法及系统 Download PDFInfo
- Publication number
- CN114327615B CN114327615B CN202210225276.4A CN202210225276A CN114327615B CN 114327615 B CN114327615 B CN 114327615B CN 202210225276 A CN202210225276 A CN 202210225276A CN 114327615 B CN114327615 B CN 114327615B
- Authority
- CN
- China
- Prior art keywords
- task
- interface
- standard
- user
- touch screen
- 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.)
- Active
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明涉及交互式文档编辑技术领域,具体公开了一种基于大数据的接口文档生成方法及系统,所述方法包括接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口;基于maven工具打包生成jar包和源码包,并加载所述jar包和所述源码包,生成Enhanced模型;扫描所述jar包内指定目录下的接口类型列表。本发明通过自己的基于Java源码解析的接口文档生成工具,通过接口平台完成接口文档的中心化管理。
Description
技术领域
本发明涉及交互式文档编辑技术领域,具体是一种基于大数据的接口文档生成方法及系统。
背景技术
随着近些年前后端分离及RestfulAPI的兴起,API接口文档编写成为了软件开发行业的关键工作,关乎着前后端的沟通与协作效率。
目前编写API接口文档主要两种方式,一个是手工编写,这种需要消耗大量人力,且无法保证代码与文档的一致性,文档的实时性不可保证;另一种方式为使用springfox公司的swagger开源组件,通过在java代码中设置相应特殊注解的方式,可以自动生成接口文档。但是也存在不少问题,比如有较高的代码侵入性,对方法与字段添加注解本身也让程序员增加了工作量,另外生成的在线接口文档是跟随项目访问的,有一定的安全隐患,也无法中心化管理,实际使用效果不佳。
发明内容
本发明的目的在于提供一种基于大数据的接口文档生成方法及系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于大数据的接口文档生成方法,所述方法包括:
接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口;
基于maven工具打包生成jar包和源码包,并加载所述jar包和所述源码包,生成Enhanced模型;所述Enhanced模型中至少包括接口方法项;
扫描所述jar包内指定目录下的接口类型列表,获取接口方法列表,根据取出的接口方法遍历所述Enhanced模型,并将取出的接口方法与Enhanced模型中的接口方法进行比对,当比对结果相同时,取出Enhanced模型中对应的数据项;
根据从所述Enhanced模型取出的数据项生成OpenAPI3接口模型,汇总所有OpenAPI3接口模型生成OpenAPI3接口文档,将OpenAPI3接口文档上传至服务器中。
作为本发明进一步的方案:所述接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口的步骤包括:
接收用户发送的文档生成请求,获取用户位置信息,根据用户位置信息确定风险级别;
当所述风险级别达到预设的第一级别阈值时,对所述用户进行生物识别;
当所述风险级别达到预设的第二级别阈值时且小于第一级别阈值时,确定指引信息;
显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证。
作为本发明进一步的方案:所述显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证的步骤包括:
对所述指引信息进行加密,显示加密后的指引信息,提示用户输入触屏信号;
实时监测触屏时间,根据所述触屏时间对所述触屏信号进行分类;所述触屏时间包括触屏开始时刻和触屏持续时间,所述触屏信号包括点和线段;
提取触屏信号及其触屏时间,将所述触屏信号及其触屏时间填充至训练好的内容识别模型,得到权限判定结果;
根据权限判定结果判断用户是否通过权限验证。
作为本发明进一步的方案:所述显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证的步骤还包括:
当所述触屏信号为线段时,获取触屏信号的轨迹信息和各检测点的停留时间;所述检测点充满触屏区域,检测频率为预设值;
判断所述停留时间与所述时间阈值大小,当所述停留时间大于所述时间阈值时,则生成取样点;
基于所述取样点重新生成线段,判断线段与所述轨迹信息是否重合,当所述线段与所述轨迹信息重合时,将重新生成的线段作为线段。
作为本发明进一步的方案:扫描所述jar包内指定目录下的接口类型列表,获取接口方法列表,取出接口方法的步骤包括:
扫描所述jar包内指定目录下的接口类型列表,确定接口类型,根据确定的接口类型在预设的接口方法列表中取出接口方法;
获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务;其中,所述标准任务中包括条件信息;
基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码;
基于所述接口方法实时统计所述标准代码和所述非标代码。
作为本发明进一步的方案:所述获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务的步骤包括:
向用户发送预设的含有操作信息的流程模板,基于所述流程模板获取任务流程图;其中,所述流程模板中含有任务类型标签,用于初步筛分任务流程;
遍历所述任务流程图中的任务类型标签,对任务流程图进行拆分,得到标准任务和非标任务;
对所述标准任务进行代码预查找,将所述非标任务向服务端发送,进行人工检测;
根据代码预查找结果和人工检测结果对标准任务和非标任务进行修正。
作为本发明进一步的方案:所述基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码的步骤包括:
基于独立的线程查询标准任务对应的标准代码;
基于独立的线程建立服务端与需求端之间的连接通道,实时生成非标代码;
其中,代码生成过程包含时间预算过程,当预算时间达到预设的阈值时,将同一任务流程图对应的代码锁定存储。
本发明技术方案还提供了一种基于大数据的接口文档生成系统,所述系统包括:
权限验证模块,用于接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口;
模型生成模块,用于基于maven工具打包生成jar包和源码包,并加载所述jar包和所述源码包,生成Enhanced模型;
任务执行模块,用于扫描所述jar包内指定目录下的接口类型列表,根据接口类型进行循环,在预设的接口方法列表中取出接口方法;
模型匹配模块,用于根据取出的接口方法匹配Enhanced模型,生成OpenAPI3模型;
汇总上传模块,用于实时判断循环是否结束,当循环结束时,汇总所有接口模型得到OpenAPI3接口文档,将OpenAPI3接口文档上传至服务器中。
作为本发明进一步的方案:所述任务执行模块包括:
方法取出单元,用于扫描所述jar包内指定目录下的接口类型列表,确定接口类型,根据确定的接口类型在预设的接口方法列表中取出接口方法;
任务分类单元,用于获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务;其中,所述标准任务中包括条件信息;
代码确定单元,用于基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码;
统计单元,用于基于所述接口方法实时统计所述标准代码和所述非标代码。
作为本发明进一步的方案:所述任务分类单元包括:
流程筛分子单元,用于向用户发送预设的含有操作信息的流程模板,基于所述流程模板获取任务流程图;其中,所述流程模板中含有任务类型标签,用于初步筛分任务流程;
任务拆分子单元,用于遍历所述任务流程图中的任务类型标签,对任务流程图进行拆分,得到标准任务和非标任务;
检测子单元,用于对所述标准任务进行代码预查找,将所述非标任务向服务端发送,进行人工检测;
修正子单元,用于根据代码预查找结果和人工检测结果对标准任务和非标任务进行修正。
与现有技术相比,本发明的有益效果是:本发明通过自己的基于Java源码解析的接口文档生成工具,通过接口平台完成接口文档的中心化管理,无需在代码上引用任何第三方包以及添加任何注解,就能完成接口文档的生成;接口文档采用服务器端解析生成,保证生成效率的同时,增加接口内容的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为基于大数据的接口文档生成方法的流程框图。
图2为基于大数据的接口文档生成方法的第一子流程框图。
图3为基于大数据的接口文档生成方法的第二子流程框图。
图4为基于大数据的接口文档生成系统的组成结构框图。
图5为基于大数据的接口文档生成系统中任务执行模块的组成结构框图。
图6为任务执行模块中任务分类单元的组成结构框图。
图7为基于大数据的接口文档生成方法中OpenAPI3在线接口生成流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
图1示出了基于大数据的接口文档生成方法的流程框图,本发明实施例中,一种基于大数据的接口文档生成方法,所述方法包括步骤S100至步骤S500:
步骤S100:接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口;
步骤S100是交互步骤,本发明技术方案由用户发送的文档生成请求触发,当系统接收到用户发送的文档生成请求时,对用户进行权限验证,本发明技术方案的核心思想是借助远程文档功能进行软件开发,参与软件开发的人员往往都是公司的核心技术人员,在软件编辑过程中,会有很多注释信息,这些注释信息属于秘密,因此,需要对用户进行权限验证;
步骤S200:基于maven工具打包生成jar包和源码包,并加载所述jar包和所述源码包,生成Enhanced模型;所述Enhanced模型中至少包括接口方法项;
步骤S300:扫描所述jar包内指定目录下的接口类型列表,获取接口方法列表,根据取出的接口方法遍历所述Enhanced模型,并将取出的接口方法与Enhanced模型中的接口方法进行比对,当比对结果相同时,取出Enhanced模型中对应的数据项;
步骤S400:根据从所述Enhanced模型取出的数据项生成OpenAPI3接口模型,汇总所有OpenAPI3接口模型生成OpenAPI3接口文档,将OpenAPI3接口文档上传至服务器中;
步骤S200至步骤S400的步骤为对Java的Web应用项目进行源码解析(通过对项目maven install后的jar包或war包进行解析),先从源码的javadoc注释以及对字节码反射的解析,创建出复合的java数据模型(包含java的反射数据结构及源码的javadoc,泛型等数据),并根据springmvc中的方法生成相应接口,结合上述复合模型生成OpenAPI3的文档格式。
进一步的,对上述内容中的专有名词进行解释,如下:
OpenAPI规范(OAS)为HTTP api定义了一个标准的、与编程语言无关的接口描述,它允许人和计算机发现和理解服务的功能,而不需要访问源代码、附加文档或检查网络流量。当通过OpenAPI正确定义时,使用者可以理解远程服务并与之交互,只需要最少量的实现逻辑。与接口描述对低级编程所起的作用类似,OpenAPI规范消除了调用服务时的猜测。
目前OpenAPI规范事实上成为了全世界API文档通用规范,支持目前所有的主流编程语言,如(java、C#、C、Python、Php、Golang等)。
对于Enhanced模型,Enhance模型基础结构(BaseModel)如下:
而类模型、字段模型、方法模型及方法参数模型由BaseModel扩展而来,其数据来源结合了Java字节码及源码的内容以满足接口文档生成。
Enhance类\字段\方法参数模型扩展属性如下:
Enhance方法模型扩展字段如下:
在本发明技术方案的一个实例中,通过jenkins中的git插件将源码取到服务器上后,运行maven的clean install命令生成相应的jar包及源码包。再通过docker命令来运行接口文档解析工具,docker将服务器的jar包/源码包映射到容器内部,并执行解析动作,对Java源码与字节码进行合成,最后按OpenAPI3规范生成接口文档,并推送到云畅接口平台中。
此外,对于一些本发明技术方案涉及到的英文技术术语进行解释说明,如下:
进一步的,对源码解析进行详情说明:
(1)根据事先配置的扫描路径进行API接口类的扫描;
(2)扫描到API接口类后,会根据接口的请求参数与及响应参数进行Java字节码递归解析,同时从依赖的Java源码中获取相关数据;
(3)源码解析时利用visitor模式将源码的class、method、field及泛型等进行逐级解析;
(4)字节码解析利用java反射进行解析,同样对class、methodfield及泛型等进行逐级解析;
(5)将源码解析结果与字节码解析结果进行合并,生成复合模型如:EnhancedClass,EnhancedMethod,EnhancedField等;
(6)根据Enhanced复合模型生成OpenAPI接口文档;
(7)将文档上传至云畅接口平台进行存储及展示;
作为本发明技术方案的一个优选实施例,所述接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口的步骤包括:
接收用户发送的文档生成请求,获取用户位置信息,根据用户位置信息确定风险级别;
当所述风险级别达到预设的第一级别阈值时,对所述用户进行生物识别;
当所述风险级别达到预设的第二级别阈值时且小于第一级别阈值时,确定指引信息;
显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证。
不同用户的风险级别是不同的,相应的身份验证方式也是不同的;对于经常在同一地点访问的用户来说,验证难度较低,极大地提高了便捷性;当用户在一个新的地点进行访问时,或者在一些不常访问的地点进行访问时,对用户进行进一步的识别;其中,当风险级别较高时,采用的是生物识别的方式进行身份识别,生物识别包括指纹识别、瞳孔识别和面部识别。
进一步的,所述显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证的步骤包括:
对所述指引信息进行加密,显示加密后的指引信息,提示用户输入触屏信号;
实时监测触屏时间,根据所述触屏时间对所述触屏信号进行分类;所述触屏时间包括触屏开始时刻和触屏持续时间,所述触屏信号包括点和线段;
提取触屏信号及其触屏时间,将所述触屏信号及其触屏时间填充至训练好的内容识别模型,得到权限判定结果;
根据权限判定结果判断用户是否通过权限验证。
上述内容对用户在不常用访问地点时进行访问的验证方式进行了进一步的限定,首先,向用户发送一些指引信息,这些指引信息用于示意用户完成何种操作,现有的终端设备的输入方式大都是触屏方式,因此,指引信息指引的操作也以触屏信号为主;其中,触屏信号包括点和线段,不同点和线段中含有时间信息,所述时间信息将触屏信号的组合方式转换为排列方式,扩充了触屏信号的排列组合种类数。
具体的,所述显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证的步骤还包括:
当所述触屏信号为线段时,获取触屏信号的轨迹信息和各检测点的停留时间;所述检测点充满触屏区域,检测频率为预设值;
判断所述停留时间与所述时间阈值大小,当所述停留时间大于所述时间阈值时,则生成取样点;
基于所述取样点重新生成线段,判断线段与所述轨迹信息是否重合,当所述线段与所述轨迹信息重合时,将重新生成的线段作为线段。
上述内容对线段的生成过程进行了具体的限定,具体的,在一块触摸屏上,检测点有很多,当所述触屏信号为线段时,停留时间较长的点就是转折点,将所述转折点作为取样点,然后根据取样点可以重新确定线段。
值得一提的是,在这一过程中,需要判断由采样点确定的线段与轨迹信息是否重合,此步骤的有益效果是,如果用户在输入触屏信号时,无意间在错误的位置施加压力,通过上述检测过程,可以有效剔除这些误触点。
图2示出了基于大数据的接口文档生成方法的第一子流程框图,扫描所述jar包内指定目录下的接口类型列表,获取接口方法列表,取出接口方法的步骤包括步骤S301至步骤S304:
步骤S301:扫描所述jar包内指定目录下的接口类型列表,确定接口类型,根据确定的接口类型在预设的接口方法列表中取出接口方法;
步骤S302:获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务;其中,所述标准任务中包括条件信息;
步骤S303:基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码;
步骤S304:基于所述接口方法实时统计所述标准代码和所述非标代码。
步骤S301至步骤S304对基于接口文档进行代码生成的过程进行了进一步的限定,首先,获取用户输入的任务流程图,所述任务流程图为软件的开发提纲,根据任务流程图可以确定标准任务和非标任务,所述标准任务是可以通过已有的封装好的算法进行解决的任务,所述非标任务是需要用户自主设计的任务。
图3示出了基于大数据的接口文档生成方法的第二子流程框图,所述获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务的步骤包括步骤S3021至步骤S3024:
步骤S3021:向用户发送预设的含有操作信息的流程模板,基于所述流程模板获取任务流程图;其中,所述流程模板中含有任务类型标签,用于初步筛分任务流程;
步骤S3022:遍历所述任务流程图中的任务类型标签,对任务流程图进行拆分,得到标准任务和非标任务;
步骤S3023:对所述标准任务进行代码预查找,将所述非标任务向服务端发送,进行人工检测;
步骤S3024:根据代码预查找结果和人工检测结果对标准任务和非标任务进行修正。
步骤S3021至步骤S3024对根据任务流程图确定标准任务和非标任务的过程进行了具体的限定,首先,将任务流程图的获取方式限定在已有的流程模板中,在流程模板中可以限定不同输入框的输入语法,使得获取到的信息更加规则,让后续的处理过程更加容易。
对于根据任务流程图确定的标准任务和非标任务,可能会存在一些偏差,对于这些偏差需要进行修正,修正的方式是对标准任务和非标任务进行进一步的检测,如果某一个“标准任务”不存在相应的标准代码,那么就说明它是非标任务。
作为本发明技术方案的一个优选实施例,所述基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码的步骤包括:
基于独立的线程查询标准任务对应的标准代码;
基于独立的线程建立服务端与需求端之间的连接通道,实时生成非标代码;
其中,代码生成过程包含时间预算过程,当预算时间达到预设的阈值时,将同一任务流程图对应的代码锁定存储。
对于标准代码来说,系统需要进行的操作就是数据库读取操作,这一部分耗时是可以预计的,对于非标代码来说,不确定性很高,有可能会出现时间较长的情况,当非标代码的预计耗时较长时,将已完成的任务进行锁定存储,释放占用的线程,执行其他操作。
作为本发明技术方案的一个优选实施例,可以使用一些其他的技术和中间件替代部分接口:
1、接口发布的jenkins流水线作业可以替换为人工执行脚本;
2、可以使用传统方式来代替docker执行接口文档解析;
此外,为了使得本发明技术方案的理解性更高,对上述内容进行总结,如下:
1.采用java源码与字节码的复合解析技术,来完成OpenAPI3接口文档的生成;
2.选择maven生成的jar包及源码包做为接口文档的来源,脱离了用户开发环境,并且拥有一套专业的源码扫描机制;
3.接口生成的流水化作业方式:从git代码同步、maven打包编译、接口文档生成与发布,都在一个pipeline中完成;
4.对OpenAPI3生成的结果进行中心化管理,方便用户阅读与测试,同时增强了接口文档的安全性。
实施例2
图4示出了基于大数据的接口文档生成系统的组成结构框图,本发明实施例中,一种基于大数据的接口文档生成系统,所述系统10包括:
权限验证模块11,用于接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口;
模型生成模块12,用于基于maven工具打包生成jar包和源码包,并加载所述jar包和所述源码包,生成Enhanced模型;
任务执行模块13,用于扫描所述jar包内指定目录下的接口类型列表,根据接口类型进行循环,在预设的接口方法列表中取出接口方法;
模型匹配模块14,用于根据取出的接口方法匹配Enhanced模型,生成OpenAPI3模型;
汇总上传模块15,用于实时判断循环是否结束,当循环结束时,汇总所有接口模型得到OpenAPI3接口文档,将OpenAPI3接口文档上传至服务器中。
图5示出了基于大数据的接口文档生成系统中任务执行模块的组成结构框图,所述任务执行模块13包括:
方法取出单元131,用于扫描所述jar包内指定目录下的接口类型列表,确定接口类型,根据确定的接口类型在预设的接口方法列表中取出接口方法;
任务分类单元132,用于获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务;其中,所述标准任务中包括条件信息;
代码确定单元133,用于基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码;
统计单元134,用于基于所述接口方法实时统计所述标准代码和所述非标代码。
图6示出了任务执行模块中任务分类单元的组成结构框图,所述任务分类单元132包括:
流程筛分子单元1321,用于向用户发送预设的含有操作信息的流程模板,基于所述流程模板获取任务流程图;其中,所述流程模板中含有任务类型标签,用于初步筛分任务流程;
任务拆分子单元1322,用于遍历所述任务流程图中的任务类型标签,对任务流程图进行拆分,得到标准任务和非标任务;
检测子单元1323,用于对所述标准任务进行代码预查找,将所述非标任务向服务端发送,进行人工检测;
修正子单元1324,用于根据代码预查找结果和人工检测结果对标准任务和非标任务进行修正。
所述基于大数据的接口文档生成方法所能实现的功能均由计算机设备完成,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现所述基于大数据的接口文档生成方法的功能。
处理器从存储器中逐条取出指令、分析指令,然后根据指令要求完成相应操作,产生一系列控制命令,使计算机各部分自动、连续并协调动作,成为一个有机的整体,实现程序的输入、数据的输入以及运算并输出结果,这一过程中产生的算术运算或逻辑运算均由运算器完成;所述存储器包括只读存储器(Read-Only Memory,ROM),所述只读存储器用于存储计算机程序,所述存储器外部设有保护装置。
示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
本领域技术人员可以理解,上述服务设备的描述仅仅是示例,并不构成对终端设备的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,上述处理器是上述终端设备的控制中心,利用各种接口和线路连接整个用户终端的各个部分。
上述存储器可用于存储计算机程序和/或模块,上述处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现上述终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如信息采集模板展示功能、产品信息发布功能等)等;存储数据区可存储根据泊位状态显示系统的使用所创建的数据(比如不同产品种类对应的产品信息采集模板、不同产品提供方需要发布的产品信息等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例系统中的全部或部分模块/单元,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个系统实施例的功能。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种基于大数据的接口文档生成方法,其特征在于,所述方法包括:
接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口;
基于maven工具打包生成jar包和源码包,并加载所述jar包和所述源码包,生成Enhanced模型;所述Enhanced模型中至少包括接口方法项;
其中,源码解析的步骤包括:
根据事先配置的扫描路径进行API接口类的扫描;
扫描到API接口类后,根据接口的请求参数以及响应参数进行Java字节码递归解析,同时从依赖的Java源码中获取相关数据;
源码解析时利用visitor模式将源码的class、method、field及泛型进行逐级解析;
字节码解析利用java反射进行解析,同样对class、methodfield及泛型进行逐级解析;
将源码解析结果与字节码解析结果进行合并,生成复合模型;所述复合模型包括EnhancedClass、EnhancedMethod和EnhancedField;
扫描所述jar包内指定目录下的接口类型列表,获取接口方法列表,取出接口方法并根据取出的接口方法遍历所述Enhanced模型,并将取出的接口方法与Enhanced模型中的接口方法进行比对,当比对结果相同时,取出Enhanced模型中对应的数据项;
根据从所述Enhanced模型取出的数据项生成OpenAPI3接口模型,汇总所有OpenAPI3接口模型生成OpenAPI3接口文档,将OpenAPI3接口文档上传至服务器中;
所述接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口的步骤包括:
接收用户发送的文档生成请求,获取用户位置信息,根据用户位置信息确定风险级别;
当所述风险级别达到预设的第一级别阈值时,对所述用户进行生物识别;
当所述风险级别达到预设的第二级别阈值时且小于第一级别阈值时,确定指引信息;
显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证;
所述显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证的步骤包括:
对所述指引信息进行加密,显示加密后的指引信息,提示用户输入触屏信号;
实时监测触屏时间,根据所述触屏时间对所述触屏信号进行分类;所述触屏时间包括触屏开始时刻和触屏持续时间,所述触屏信号包括点和线段;
提取触屏信号及其触屏时间,将所述触屏信号及其触屏时间填充至训练好的内容识别模型,得到权限判定结果;
根据权限判定结果判断用户是否通过权限验证;
所述显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证的步骤还包括:
当所述触屏信号为线段时,获取触屏信号的轨迹信息和各检测点的停留时间;所述检测点充满触屏区域,检测频率为预设值;
判断所述停留时间与时间阈值大小,当所述停留时间大于时间阈值时,则生成取样点;
基于所述取样点重新生成线段,判断线段与所述轨迹信息是否重合,当所述线段与所述轨迹信息重合时,将重新生成的线段作为线段。
2.根据权利要求1所述的基于大数据的接口文档生成方法,其特征在于,扫描所述jar包内指定目录下的接口类型列表,获取接口方法列表,取出接口方法的步骤包括:
扫描所述jar包内指定目录下的接口类型列表,确定接口类型,根据确定的接口类型在预设的接口方法列表中取出接口方法;
获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务;其中,所述标准任务中包括条件信息;
基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码;
基于所述接口方法实时统计所述标准代码和所述非标代码。
3.根据权利要求2所述的基于大数据的接口文档生成方法,其特征在于,所述获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务的步骤包括:
向用户发送预设的含有操作信息的流程模板,基于所述流程模板获取任务流程图;其中,所述流程模板中含有任务类型标签,用于初步筛分任务流程;
遍历所述任务流程图中的任务类型标签,对任务流程图进行拆分,得到标准任务和非标任务;
对所述标准任务进行代码预查找,将所述非标任务向服务端发送,进行人工检测;
根据代码预查找结果和人工检测结果对标准任务和非标任务进行修正。
4.根据权利要求3所述的基于大数据的接口文档生成方法,其特征在于,所述基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码的步骤包括:
基于独立的线程查询标准任务对应的标准代码;
基于独立的线程建立服务端与需求端之间的连接通道,实时生成非标代码;
其中,代码生成过程包含时间预算过程,当预算时间达到预设的阈值时,将同一任务流程图对应的代码锁定存储。
5.一种基于大数据的接口文档生成系统,其特征在于,所述系统包括:
权限验证模块,用于接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口;
模型生成模块,用于基于maven工具打包生成jar包和源码包,并加载所述jar包和所述源码包,生成Enhanced模型;所述Enhanced模型中至少包括接口方法项;
其中,源码解析的步骤包括:
根据事先配置的扫描路径进行API接口类的扫描;
扫描到API接口类后,根据接口的请求参数以及响应参数进行Java字节码递归解析,同时从依赖的Java源码中获取相关数据;
源码解析时利用visitor模式将源码的class、method、field及泛型进行逐级解析;
字节码解析利用java反射进行解析,同样对class、methodfield及泛型进行逐级解析;
将源码解析结果与字节码解析结果进行合并,生成复合模型;所述复合模型包括EnhancedClass、EnhancedMethod和EnhancedField;
任务执行模块,用于扫描所述jar包内指定目录下的接口类型列表,获取接口方法列表,取出接口方法并根据取出的接口方法遍历所述Enhanced模型,并将取出的接口方法与Enhanced模型中的接口方法进行比对,当比对结果相同时,取出Enhanced模型中对应的数据项;
汇总上传模块,用于根据从所述Enhanced模型取出的数据项生成OpenAPI3接口模型,汇总所有OpenAPI3接口模型生成OpenAPI3接口文档,将OpenAPI3接口文档上传至服务器中;
所述接收用户发送的文档生成请求,对用户进行权限验证,当用户通过权限验证时,开放文档生成端口的内容包括:
接收用户发送的文档生成请求,获取用户位置信息,根据用户位置信息确定风险级别;
当所述风险级别达到预设的第一级别阈值时,对所述用户进行生物识别;
当所述风险级别达到预设的第二级别阈值时且小于第一级别阈值时,确定指引信息;
显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证;
所述显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证的内容包括:
对所述指引信息进行加密,显示加密后的指引信息,提示用户输入触屏信号;
实时监测触屏时间,根据所述触屏时间对所述触屏信号进行分类;所述触屏时间包括触屏开始时刻和触屏持续时间,所述触屏信号包括点和线段;
提取触屏信号及其触屏时间,将所述触屏信号及其触屏时间填充至训练好的内容识别模型,得到权限判定结果;
根据权限判定结果判断用户是否通过权限验证;
所述显示指引信息并开放信息输入端口,基于所述信息输入端口获取通行信息,对所述通行信息进行内容识别,根据内容识别结果判断用户是否通过权限验证的内容还包括:
当所述触屏信号为线段时,获取触屏信号的轨迹信息和各检测点的停留时间;所述检测点充满触屏区域,检测频率为预设值;
判断所述停留时间与时间阈值大小,当所述停留时间大于时间阈值时,则生成取样点;
基于所述取样点重新生成线段,判断线段与所述轨迹信息是否重合,当所述线段与所述轨迹信息重合时,将重新生成的线段作为线段。
6.根据权利要求5所述的基于大数据的接口文档生成系统,其特征在于,所述任务执行模块包括:
方法取出单元,用于扫描所述jar包内指定目录下的接口类型列表,确定接口类型,根据确定的接口类型在预设的接口方法列表中取出接口方法;
任务分类单元,用于获取用户输入的任务流程图,根据所述任务流程图确定标准任务和非标任务;其中,所述标准任务中包括条件信息;
代码确定单元,用于基于独立的线程分别处理标准任务和非标任务,得到标准代码和非标代码;
统计单元,用于基于所述接口方法实时统计所述标准代码和所述非标代码。
7.根据权利要求6所述的基于大数据的接口文档生成系统,其特征在于,所述任务分类单元包括:
流程筛分子单元,用于向用户发送预设的含有操作信息的流程模板,基于所述流程模板获取任务流程图;其中,所述流程模板中含有任务类型标签,用于初步筛分任务流程;
任务拆分子单元,用于遍历所述任务流程图中的任务类型标签,对任务流程图进行拆分,得到标准任务和非标任务;
检测子单元,用于对所述标准任务进行代码预查找,将所述非标任务向服务端发送,进行人工检测;
修正子单元,用于根据代码预查找结果和人工检测结果对标准任务和非标任务进行修正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210225276.4A CN114327615B (zh) | 2022-03-09 | 2022-03-09 | 一种基于大数据的接口文档生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210225276.4A CN114327615B (zh) | 2022-03-09 | 2022-03-09 | 一种基于大数据的接口文档生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327615A CN114327615A (zh) | 2022-04-12 |
CN114327615B true CN114327615B (zh) | 2022-06-28 |
Family
ID=81033624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210225276.4A Active CN114327615B (zh) | 2022-03-09 | 2022-03-09 | 一种基于大数据的接口文档生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327615B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014048170A1 (zh) * | 2012-09-29 | 2014-04-03 | 炬才微电子(深圳)有限公司 | 应用于终端的空中手势识别方法及装置 |
WO2015099976A1 (en) * | 2013-12-27 | 2015-07-02 | Microsoft Technology Licensing, Llc. | Generation of client-side application programming interfaces |
CN109547495A (zh) * | 2019-01-08 | 2019-03-29 | 武汉心络科技有限公司 | 敏感操作处理方法、装置、服务器、终端及存储介质 |
CN109783249A (zh) * | 2018-12-13 | 2019-05-21 | 中国平安财产保险股份有限公司 | 平台接入方法及装置、终端和计算机可读存储介质 |
CN110162296A (zh) * | 2019-04-15 | 2019-08-23 | 平安科技(深圳)有限公司 | 应用程序编程接口文档的生成方法、装置及终端设备 |
CN110333850A (zh) * | 2019-05-30 | 2019-10-15 | 重庆金融资产交易所有限责任公司 | 接口文档的生成方法、装置、计算机设备和存储介质 |
CN110472407A (zh) * | 2019-08-21 | 2019-11-19 | 广州大学 | 一种基于手势验证码的访问认证方法及系统 |
CN111984228A (zh) * | 2020-07-09 | 2020-11-24 | 招联消费金融有限公司 | 一种接口文档的处理方法、装置、计算机设备和存储介质 |
CN113138757A (zh) * | 2021-05-11 | 2021-07-20 | 中国工商银行股份有限公司 | 前端代码自动生成方法、装置、服务器、系统及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049271B (zh) * | 2012-12-27 | 2016-01-27 | 微梦创科网络科技(中国)有限公司 | 自动生成api接口的描述文档的方法和装置 |
CN110806863A (zh) * | 2019-11-05 | 2020-02-18 | 泰康保险集团股份有限公司 | 接口文档生成方法及装置、电子设备、存储介质 |
-
2022
- 2022-03-09 CN CN202210225276.4A patent/CN114327615B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014048170A1 (zh) * | 2012-09-29 | 2014-04-03 | 炬才微电子(深圳)有限公司 | 应用于终端的空中手势识别方法及装置 |
WO2015099976A1 (en) * | 2013-12-27 | 2015-07-02 | Microsoft Technology Licensing, Llc. | Generation of client-side application programming interfaces |
CN109783249A (zh) * | 2018-12-13 | 2019-05-21 | 中国平安财产保险股份有限公司 | 平台接入方法及装置、终端和计算机可读存储介质 |
CN109547495A (zh) * | 2019-01-08 | 2019-03-29 | 武汉心络科技有限公司 | 敏感操作处理方法、装置、服务器、终端及存储介质 |
CN110162296A (zh) * | 2019-04-15 | 2019-08-23 | 平安科技(深圳)有限公司 | 应用程序编程接口文档的生成方法、装置及终端设备 |
CN110333850A (zh) * | 2019-05-30 | 2019-10-15 | 重庆金融资产交易所有限责任公司 | 接口文档的生成方法、装置、计算机设备和存储介质 |
CN110472407A (zh) * | 2019-08-21 | 2019-11-19 | 广州大学 | 一种基于手势验证码的访问认证方法及系统 |
CN111984228A (zh) * | 2020-07-09 | 2020-11-24 | 招联消费金融有限公司 | 一种接口文档的处理方法、装置、计算机设备和存储介质 |
CN113138757A (zh) * | 2021-05-11 | 2021-07-20 | 中国工商银行股份有限公司 | 前端代码自动生成方法、装置、服务器、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114327615A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107239666B (zh) | 一种对医疗影像数据进行脱敏处理的方法及系统 | |
Villán | Mastering OpenCV 4 with Python: a practical guide covering topics from image processing, augmented reality to deep learning with OpenCV 4 and Python 3.7 | |
CN103930898B (zh) | 程序分析/验证服务提供系统及其控制方法、程序分析/验证装置、程序分析/验证工具管理装置 | |
CN104700169A (zh) | 一种发票查验与管理的方法及系统 | |
CN109308254B (zh) | 一种测试方法、装置及测试设备 | |
CN103678109A (zh) | 一种转储文件分析方法、装置和系统 | |
CN113746758B (zh) | 一种动态识别流量协议的方法和终端 | |
US20190147104A1 (en) | Method and apparatus for constructing artificial intelligence application | |
CN110765483A (zh) | 一种配置化的日志脱敏方法、装置和电子设备 | |
CN111679975A (zh) | 单证生成方法、装置、电子设备及介质 | |
US11182635B2 (en) | Terminal apparatus, character recognition system, and character recognition method | |
CN115310087A (zh) | 一种基于抽象语法树的网站后门检测方法和系统 | |
CN115168847A (zh) | 应用补丁生成方法、装置、计算机设备及可读存储介质 | |
US9898467B1 (en) | System for data normalization | |
CN114579972A (zh) | 嵌入式开发程序的漏洞识别方法及系统 | |
CN118113271A (zh) | 基于大模型的代码生成方法、系统、终端及介质 | |
CN117076410B (zh) | 一种pdf文件生成方法、处理方法、装置及存储介质 | |
CN114327615B (zh) | 一种基于大数据的接口文档生成方法及系统 | |
CN113886627A (zh) | 一种基于信息同步的移动通信系统 | |
US11481304B1 (en) | User action generated process discovery | |
CN116340820A (zh) | 数据审核方法、装置、系统与计算机可读存储介质 | |
CN110727436A (zh) | 操作界面的脚本执行方法、装置、终端设备及存储介质 | |
KR101843092B1 (ko) | 복수의 보험상품 시스템에 대하여 그 시스템들의 정확성을 순차적으로 검증하는 방법 | |
Maiti | Capturing, Eliciting, and Prioritizing (CEP) Non-Functional Requirements Metadata during the Early Stages of Agile Software Development | |
Saavedra et al. | Google cloud vision and its application in image processing using a raspberry Pi |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |