技术领域
[0001] 本发明涉及对计算机数据的处理技术,特别涉及一种项目数据的梳理系统及方法。
相关背景技术
[0002] 在执行某个计算机项目时,常常需要将项目数据在不同计算机系统中的不同数据库内转移或调取。当执行计算机项目的计算机系统交接时,由于不同计算机系统的时间问题或项目数据文档不全问题,就需要人工重新梳理整个项目数据的调取或转移过程,使得整个项目数据不会出现丢失或损坏的问题,特别对于一些项目中的重要业务流程完全依赖的项目数据文档等。采用这种人工梳理的方式虽然可以完成项目数据在不同计算机系统的交接,但是由于是采用人工方式,耗费大量人力资源和时间资源,且受到人工的经验限制,梳理人员难以快速熟悉整个项目数据,并正确梳理,使得项目数据的梳理的质量比较低。
具体实施方式
[0036] 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
[0037] 本发明实施例在对项目数据进行梳理时,由数据抓取模块抓取项目所需数据,由源数据筛选模块根据设置的规则及架构类型进行筛选,得到筛选后的项目所需数据,业务处理模块对筛选后的项目所需数据根据设置的业务流程进行梳理后,得到项目数据,经过输出数据筛选模块的筛选后,存储或显示。
[0038] 这样,只需要设置规则及设置业务流程,就可以自动对项目数据进行梳理,而不需要人工处理,对项目数据的梳理是标准化过程,不会造成人工的失误,提高了项目数据梳理的质量,且节省了大量人力资源和时间资源。
[0039] 本发明实施例提供的系统及方法,基于项目数据使用的数据库,比如mySQL数据库、SQL Server数据库或Oracle Database数据库等,以数据表为单位,以表操作为维度进行项目数据的梳理。本发明实施例属于自动化梳理工具,在执行前配置项目数据源码路径、目标数据表及设置规则,启动本发明实施例提供的系统后不再需要手工干预项目数据的梳理过程。
[0040] 图1为本发明实施例提供的一种项目数据的梳理系统结构示意图,包括:数据抓取模块、源数据筛选模块、规则录入模块、分析模块、业务处理模块及输出数据筛选模块,其中,
[0041] 数据抓取模块,用于根据项目所需数据的路径从源码服务器中抓取项目所需数据;
[0042] 规则录入模块,用于设置规则,发送给源数据筛选模块;
[0043] 分析模块,用于设置项目的架构类型,发送给源数据筛选模块;
[0044] 源数据筛选模块,用于设置的规则及架构类型对项目所需数据进行筛选,得到筛选后的项目所需数据,发送给业务处理模块;
[0045] 业务处理模块,用于对筛选后的项目所需数据根据设置的业务流程进行梳理后,得到项目数据;
[0046] 输出数据筛选模块,用于剔除项目数据中的垃圾数据后,输出。
[0047] 在该结构中,还包括:数据存储模块,用于将输出数据筛选模块输出的项目数据进行存储。当然,该数据存储模块可以采用HBase数据库,以提高存储容量。
[0048] 在该结构中,还包括:可视化输出模块,用于将输出数据筛选模块输出的项目数据进行显示。当然,在显示时,可以按照设定样式对项目数据进行渲染后,以设定样式显示。
[0049] 在该结构中,所述数据抓取模块,还用于从源码服务器中抓取项目所需数据时,以所述路径为起点,从源码服务器中的数据库中逐层读取项目所需数据。
[0050] 在该结构中,分析模块,用于在设置项目的架构类型时,还包括:依据配置的目标数据表、匹配规则及筛选规则对当前项目进行分析,按照项目架构进行分类,确定项目的架构类型。在这里,如果没有配置目标数据表,则默认为项目中所涉及的全部数据表。
[0051] 在该结构中,规则录入模块,用于设置的规则为:指定要梳理的项目数据表。
[0052] 在该步骤中,规则录入模块,还用于设置输出数据筛选规则及可视化输出的样式规则,这样,在输出数据筛选模块筛选时根据输出数据筛选规则筛选,在可视化输出模块进行项目数据的输出时,根据可视化输出的样式规则输出。
[0053] 在该结构中,业务处理模块作为核心业务处理模块,支持水平扩展。
[0054] 图2为本发明实施例提供的一种项目数据的梳理方法流程图,其具体步骤为:
[0055] 步骤201、根据项目所需数据的路径抓取项目所需数据;
[0056] 步骤202、根据设置的规则及架构类型进行筛选,得到筛选后的项目所需数据;
[0057] 在该步骤中,架构类型为:根据配置的目标数据表、匹配规则及筛选规则对当前项目进行分析,按照项目架构进行分类,确定项目的架构类型;
[0058] 设置的规则为:指定要梳理的项目数据表;
[0059] 步骤203、对筛选后的项目所需数据根据设置的业务流程进行梳理后,得到项目数据;
[0060] 步骤204、所述项目数据经过输出筛选后,输出;
[0061] 在该步骤中,输出筛选就是去除所述项目数据中的垃圾数据。
[0062] 该方法还包括:输出的项目数据进行存储或按照设定的样式显示。
[0063] 举一个具体例子对本发明实施例进行详细说明。
[0064] 图3为本发明实施例提供的一种项目数据的梳理方法具体例子流程图,该具体例子结合图1所示的结构说明,其具体步骤为:
[0065] 步骤301、得到项目所需数据的源码文件路径;
[0066] 在该步骤中,源码文件路径就是源码文件的存储位置,是由人工设置的;
[0067] 步骤302、自动拉取加载项目所需数据的源码文件,执行步骤305;
[0068] 在该步骤中,通过嵌入项目管理工具Git根据源码文件路径抓取相应的源码文件,通过文件输入流(FileInputStream)实现源码按层读取并加载到缓存中;
[0069] 步骤303、分析项目所需数据,得到项目的架构类型,执行步骤305;
[0070] 在该步骤中,使用正则表达式的文件匹配模块与源码文件进行匹配,依据项目中不同的框架配置文件达到按项目架构分类的目的;
[0071] 步骤304、设置规则,执行步骤305;
[0072] 在该步骤中,可定制化的规则录入:可指定目标数据表名称、录入数据筛选规则、数据输出规则及输出文件模板样式等;
[0073] 在该步骤中,设置的规则可以采用正则表达式表示,使用层叠样式表单(CSS)技术实现输出文件模板样式的指定,如果不定制,则默认采用默认的规则模板;
[0074] 步骤305、根据设置的规则及架构类型进行筛选,得到筛选后的项目所需数据;
[0075] 在该步骤中,规则录入中录入的相应过滤、匹配规则进行输入数据的筛选,规则采用正则表达式编写;
[0076] 在该步骤中,如果没有设置的规则及架构类型,则按照默认设置进行筛选;
[0077] 步骤306、将筛选后的项目所需数据进行通用处理;
[0078] 在该步骤中,只处理项目所需数据中的数据表名及进行数据表常规操作,依据SQL操作命令以CRUD为维度进行数据操作分类,根据数据操作类型对数据流向进行确认;也就是说,数据表常规操作是针对数据表的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)的处理,目的是对数据表分类,然后按照类别得到数据流向的确认,确认针对数据表的输出还是输入,进行标记;
[0079] 步骤307、将筛选后的项目所需数据进行异常处理;
[0080] 在该步骤中,异常处理判断标准为只要不是表的常规操作就认为是异常的,进行异常处理;
[0081] 异常处理包括:动态数据表名、存储过程和多表连接;其中,针对动态数据表名需要依靠操作命令代码,逐层向上查找,直到找到动态表名赋值;多表连接的情况根据筛选规则进行数据表的筛选,缺省按照多表连接关键字正则表达式进行数据表的分离,然后按照单数据表处理流程进行处理;存储过程则采用SQL语言作为一个流程节点,进行数据表的输出;
[0082] 步骤308、对经过处理的筛选后的项目所需数据进行操作追踪;
[0083] 在该步骤中,按照通用项目分层结构对所述数据进行分层,分层结构包括:web层、业务层及持久层,持久层为贴近数据源的一层,流程在持久层开始,遍历到web层结束;采用的追踪方式:以类的全路径与方法名共同组成查询条件,在内存加载的源码数据中逐层查找,直到web层,从而形成了一个以web层操作方法为入口,以持久层操作方法为结束的数据流程;
[0084] 步骤309、进行输出数据筛选;
[0085] 在该步骤中,针对即将输出的数据进行相应过滤和筛选,采用的输出筛选规则通过正则表达式表示;
[0086] 步骤310、对进行输出数据筛选的项目数据进行存储;
[0087] 在该步骤中,采用HBase完成输出数据存储,将数据节点及数据操作关系进行分类存储,即以SQL语句的操作关键字为分类标识,分类别存储数据操作流程数据;
[0088] 步骤311、输出可视化视图,显示输出数据筛选的项目数据;
[0089] 在该步骤中,设置了输出文件模板及样式,将数据渲染到模板上,采用.PDF格式文件显示,PDF文件输出采用PdfWriter实现。
[0090] 本发明实施例自动根据计算机系统的流程完成项目数据的梳理,减轻了人工工作量及提高了工作效率,使得数据流程梳理更加准确并灵活。
[0091] 以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。