CN111221570B - 微服务框架的迁移方法、装置、设备及存储介质 - Google Patents

微服务框架的迁移方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111221570B
CN111221570B CN201911389453.7A CN201911389453A CN111221570B CN 111221570 B CN111221570 B CN 111221570B CN 201911389453 A CN201911389453 A CN 201911389453A CN 111221570 B CN111221570 B CN 111221570B
Authority
CN
China
Prior art keywords
service
preset
micro
target file
file
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
Application number
CN201911389453.7A
Other languages
English (en)
Other versions
CN111221570A (zh
Inventor
钟泽峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN201911389453.7A priority Critical patent/CN111221570B/zh
Publication of CN111221570A publication Critical patent/CN111221570A/zh
Application granted granted Critical
Publication of CN111221570B publication Critical patent/CN111221570B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting

Abstract

本发明涉及计算机技术领域,公开了一种微服务框架的迁移方法、装置、设备及存储介质。微服务框架的迁移方法包括:根据预置配置信息统计原始软件源代码,得到元数据信息;对元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;根据元数据信息生成新的配置类,并将新的配置类添加到初始微服务项目中;根据预置业务维度对初始微服务项目进行业务划分处理,得到微服务后台服务框架的迁移结果。本发明通过对原始软件源代码统计得到元数据信息,根据元数据信息和预置配置生成微服务后台服务框架和相关依赖,完成微服务框架迁移,降低代码量,提高业务运行效率。

Description

微服务框架的迁移方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及微服务框架的迁移方法、装置、设备及存储介质。
背景技术
现有技术中,将面向对象编程语言java应用打包为WAR格式,部署在网页服务器tomcat或者网页容器jetty上,或者将java应用打包成自包含的计算机文件格式jar格式。这类应用开发风格很常见,并且易于调试,当运行该类应用时,菜用自动化测试工具,例如selenium链接用户界面(user interface,UI)就可以完成端到端测试,也易于部署,将打包好的java应用拷贝到服务器端,通过在负载均衡器后端运行多个拷贝就能实现应用扩展。
但是这类java应用存在很大的局限性,随着时间推移,这类java应用的功能会日渐庞大和复杂,必然导致应用程序代码量大和业务运行效率低下的技术问题。
发明内容
本发明的主要目的在于解决了原有java应用的功能日渐庞大和复杂,导致应用程序代码量大和业务运行效率低下的技术问题。
为实现上述目的,本发明第一方面提供了一种微服务框架的迁移方法,包括:根据预置配置信息统计原始软件源代码,得到元数据信息;对所述元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,所述预置框架用于指示基于微服务开发框架springboot预先搭建的微服务后台服务框架;根据所述元数据信息生成新的配置类,并将所述新的配置类添加到所述初始微服务项目中;根据预置业务维度对所述初始微服务项目进行业务划分处理,得到所述微服务后台服务框架的迁移结果。
可选的,在本发明第一方面的第一种实现方式中,所述根据预置配置信息统计原始软件源代码,得到元数据信息包括:读取预置配置信息,得到原始软件源代码的目录信息;根据所述目录信息设置扫描策略,所述扫描策略包括待扫描目录和待扫描文件扩展名;根据所述待扫描目录扫描所述原始软件源代码,得到多个目标文件和目标文件的数量,所述多个目标文件用于指示将所述待扫描文件扩展名作为后缀的所有文件;读取并统计所述多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数;统计并整合所述多个目标文件、所述目标文件的数量、所述代码行数、所述空行行数和所述注释行数,得到元数据信息,并将所述元数据信息存储到预置数据表中。
可选的,在本发明第一方面的第二种实现方式中,所述对所述元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,所述预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架,包括:获取基于微服务开发框架springboot预先搭建的微服务后台服务框架;从所述预置数据表中读取元数据信息,得到所述目标文件和所述代码行数;根据所述代码行数确定代码量,并将所述代码量大于预置阈值的目标文件进行拆分;从所述元数据信息和拆分后的目标文件中查询文件扩展名为面向对象编程语言java的目标文件,得到第一目标文件;当检测到所述第一目标文件名称的结尾字符为第一预置标识时,对所述第一目标文件中的预置关键字添加第一预置注解;当检测到所述第一目标文件名称的结尾字符为第二预置标识时,对所述第一目标文件中的预置关键字添加第二预置注解;当检测到所述第一目标文件名称的结尾字符为第三预置标识时,对所述第一目标文件中的预置关键字添加第三预置注解;将修改后的第一目标文件复制到所述微服务后台服务框架中的预置接口类同级目录下,并添加预置相关依赖,得到基于预置框架的初始微服务项目。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述元数据信息生成新的配置类,并将所述新的配置类添加到所述初始微服务项目中包括:从所述元数据信息中查询所述文件扩展名为可扩展标记语言xml的目标文件,得到第二目标文件;读取所述第二目标文件,得到xml配置内容;对所述xml配置内容中配置类属性为所述第一标识和所述第二标识的内容进行过滤;根据过滤后的xml配置内容生成新的配置类,并将第四预置注解添加到所述新的配置类中;将所述xml文件和所述新的配置类添加到所述初始微服务项目中。
可选的,在本发明第一方面的第四种实现方式中,所述根据预置业务维度对所述初始微服务项目进行业务划分处理,得到所述微服务后台服务框架的迁移结果包括:根据预置业务维度从所述原始软件源代码中查询得到原始业务模块,并将所述原始业务模块写入模块配置文件中;根据所述模块配置文件对所述初始微服务项目中的目标文件进行业务拆分和/或业务合并,得到所述微服务后台服务框架的迁移结果。
可选的,在本发明第一方面的第五种实现方式中,所述根据所述目录信息设置扫描策略,所述扫描策略包括待扫描目录和待扫描文件扩展名包括:根据所述目录信息设置待扫描目录;为所述待扫描目录分配权重值,所述权重值用于指示待扫描目录的优先级别;按照所述权重值从大到小的顺序对所述待扫描目录进行排序;根据预置后缀格式设置待扫描文件扩展名;将排序后的待扫描目录和所述待扫描文件扩展名设置为扫描策略。
可选的,在本发明第一方面的第六种实现方式中,所述读取并统计所述多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数包括:读取每个目标文件,得到所述每个目标文件对应的源代码信息;对所述每个目标文件对应的源代码信息进行遍历,得到待查询行数据;判断所述待查询行数据是否为空值;若所述待查询行数据为所述空值,则去除所述待查询行数据;若所述待查询行数据不为所述空值,则删除所述待查询行数据的空格;根据预置空行正则匹配规则判断所述待查询的行数据是否为空行,所述预置空行正则匹配规则包括第一预置符号;若所述待查询的行数据为所述空行数据,则对空行行数进行加1;若所述待查询的行数据不为所述空行数据,则根据预置注释正则匹配规则判断所述待查询的行数据是否为注释数据,所述预置注释正则匹配规则包括第二预置符号;若所述待查询的行数据为所述注释数据,则对注释行数进行加1;若所述待查询的行数据不为所述注释数据,则对代码行数进行加1,直到所述待查询行数据为所述空值时,确定所述目标文件统计结束;将所述代码行数、所述空行行数和所述注释行数与所述每个目标文件按照对应关系记录到所述预置数据表中;重复执行以上步骤,直到对所述多个目标文件统计完成。
本发明第二方面提供了一种微服务框架的迁移装置,包括:统计单元,用于根据预置配置信息统计原始软件源代码,得到元数据信息;解析标注单元,对所述元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,所述预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;生成单元,用于根据所述元数据信息生成新的配置类,并将所述新的配置类添加到所述初始微服务项目中;划分单元,用于根据预置业务维度对所述初始微服务项目进行业务划分处理,得到所述微服务后台服务框架的迁移结果。
可选的,在本发明第二方面的第一种实现方式中,所述统计单元还包括:读取子单元,用于读取预置配置信息,得到原始软件源代码的目录信息;设置子单元,用于根据所述目录信息设置扫描策略,所述扫描策略包括待扫描目录和待扫描文件扩展名;扫描子单元,用于根据所述待扫描目录扫描所述原始软件源代码,得到多个目标文件和目标文件的数量,所述多个目标文件用于指示将所述待扫描文件扩展名作为后缀的所有文件;统计子单元,用于读取并统计所述多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数;整合子单元,用于统计并整合所述多个目标文件、所述目标文件的数量、所述代码行数、所述空行行数和所述注释行数,得到元数据信息,并将所述元数据信息存储到预置数据表中。
可选的,在本发明第二方面的第二种实现方式中,所述解析标注单元具体用于:获取基于微服务开发框架spring boot预先搭建的微服务后台服务框架;从所述预置数据表中读取元数据信息,得到所述目标文件和所述代码行数;根据所述代码行数确定代码量,并将所述代码量大于预置阈值的目标文件进行拆分;从所述元数据信息和拆分后的目标文件中查询文件扩展名为面向对象编程语言java的目标文件,得到第一目标文件;当检测到所述第一目标文件名称的结尾字符为第一预置标识时,对所述第一目标文件中的预置关键字添加第一预置注解;当检测到为所述第一目标文件名称的结尾字符为第二预置标识时,对所述第一目标文件中的预置关键字添加第二预置注解;当检测到所述第一目标文件名称的结尾字符为第三预置标识时,对所述第一目标文件中的预置关键字添加第三预置注解;将修改后的第一目标文件复制到所述微服务后台服务框架中的预置接口类同级目录下,并添加预置相关依赖,得到基于预置框架的初始微服务项目。
可选的,在本发明第二方面的第三种实现方式中,所述生成单元具体用于:从所述元数据信息中查询所述文件扩展名为可扩展标记语言xml的目标文件,得到第二目标文件;读取所述第二目标文件,得到xml配置内容;对所述xml配置内容中配置类属性为所述第一标识和所述第二标识的内容进行过滤;根据过滤后的xml配置内容生成新的配置类,并将第四预置注解添加到所述新的配置类中;将所述xml文件和所述新的配置类添加到所述初始微服务项目中。
可选的,在本发明第二方面的第四种实现方式中,所述划分单元具体用于:根据预置业务维度从所述原始软件源代码中查询得到原始业务模块,并将所述原始业务模块写入模块配置文件中;根据所述模块配置文件对所述初始微服务项目中的目标文件进行业务拆分和/或业务合并,得到所述微服务后台服务框架的迁移结果。
可选的,在本发明第二方面的第五种实现方式中,所述设置子单元具体用于:根据目录信息设置待扫描目录;为待扫描目录分配权重值,权重值用于指示待扫描目录的优先级别;按照权重值从大到小的顺序对待扫描目录进行排序;根据预置后缀格式设置待扫描文件扩展名;将排序后的待扫描目录和待扫描文件扩展名设置为扫描策略。
可选的,在本发明第二方面的第六种实现方式中,所述统计子单元具体用于:读取每个目标文件,得到多个每个目标文件对应的源代码信息;对所述每个目标文件对应的源代码信息进行遍历,得到待查询行数据;判断所述待查询行数据是否为空值;若所述待查询行数据为所述空值,则去除所述待查询行数据;若所述待查询行数据不为所述空值,则删除所述待查询行数据的空格;根据预置空行正则匹配规则判断所述待查询的行数据是否为空行,所述预置空行正则匹配规则包括第一预置符号;若所述待查询的行数据为所述空行数据,则对空行行数进行加1;若所述待查询的行数据不为所述空行数据,则根据预置注释正则匹配规则判断所述待查询的行数据是否为注释数据,所述预置注释正则匹配规则包括第二预置符号;若所述待查询的行数据为所述注释数据,则对注释行数进行加1;若所述待查询的行数据不为所述注释数据,则对代码行数进行加1,直到所述待查询行数据为所述空值时,确定所述目标文件统计结束;将所述代码行数、所述空行行数和所述注释行数与所述每个目标文件按照对应关系记录到所述预置数据表中;重复执行以上步骤,直到对所述多个目标文件统计完成。
本发明第三方面提供了一种微服务框架的迁移设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述微服务框架的迁移设备执行上述第一方面所述的方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
从以上技术方案可以看出,本发明具有以下优点:
本发明提供的技术方案中,根据预置配置信息统计原始软件源代码,得到元数据信息;对所述元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,所述预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;根据所述元数据信息生成新的配置类,并将所述新的配置类添加到所述初始微服务项目中;根据预置业务维度对所述初始微服务项目进行业务划分处理,得到所述微服务后台服务框架的迁移结果。本发明实施例中,通过对原始软件源代码统计得到元数据信息,根据元数据信息和预置配置生成微服务后台服务框架和相关依赖,完成微服务框架迁移,降低应用程序的代码量,提高业务运行效率。
附图说明
图1为本发明实施例中微服务框架的迁移方法的一个实施例示意图;
图2为本发明实施例中微服务框架的迁移方法的另一个实施例示意图;
图3为本发明实施例中微服务框架的迁移装置的一个实施例示意图;
图4为本发明实施例中微服务框架的迁移装置的另一个实施例示意图;
图5为本发明实施例中微服务框架的迁移设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种微服务框架的迁移方法、装置、设备及存储介质,用于通过对原始软件源代码统计得到元数据信息,根据元数据信息和预置配置生成微服务后台服务框架和相关依赖,完成微服务框架迁移,降低应用程序的代码量,提高业务运行效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中微服务框架的迁移方法的一个实施例包括:
101、根据预置配置信息统计原始软件源代码,得到元数据信息;
服务器根据预置配置信息统计原始软件源代码,得到元数据信息。其中,预置配置信息包括原始软件源代码的路径信息以及原始软件源代码的各个层级目录信息,原始软件源代码为基于spring框架生成的单系统应用代码。具体的,服务器根据预置配置信息设置扫描策略;服务器根据预置扫描策略扫描并统计原始软件源代码,得到元数据信息,元数据信息包括多个目标文件、目标文件的数量、代码行数、空行行数和注释行数。
102、对元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;
服务器对元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架,初始微服务项目就是将一个大型的原始软件源代码拆分成若干个小的服务。具体的,服务器基于微服务开发框架spring boot预先搭建微服务后台服务框架,并从元数据信息中查询文件扩展名为面向对象编程语言java的目标文件,得到第一目标文件;服务器对第一目标文件名称的结尾字符进行分析,其中,第一目标文件名称的结尾字符包括第一预置标识、第二预置标识和第三预置标识,相应的,服务器根据第一预置标识、第二预置标识或者第三预置标识对第一目标文件中的预置关键字添加第一预置注解、第二预置注解或者第三预置注解;服务器添加预置相关依赖,得到基于预置框架的初始微服务项目。
103、根据元数据信息生成新的配置类,并将新的配置类添加到初始微服务项目中;
服务器根据元数据信息生成新的配置类,并将新的配置类添加到初始微服务项目中。在使用spring boot时,配置相应的spring boot就可以使用所有的spring组件,也就是说,spring boot就是spring,做了很多spring bean配置。
具体的,服务器从元数据信息中查询文件扩展名为可扩展标记语言xml的目标文件,得到第二目标文件;服务器获取第二目标文件的xml配置内容;服务器对xml配置内容中配置类属性为第一标识和第二标识的内容进行过滤;服务器根据过滤后的xml配置内容生成新的配置类,并将第四预置注解添加到新的配置类中,并将新的配置类添加到初始微服务项目中。
104、根据预置业务维度对初始微服务项目进行业务划分处理,得到微服务后台服务框架的迁移结果。
服务器根据预置业务维度对初始微服务项目进行业务划分处理,得到微服务后台服务框架的迁移结果。其中,初始微服务项目包括控制controller、服务service和映射mapper类型的代码文件。
可以理解的是,服务器根据预置业务维度对初始微服务项目进行业务划分处理,其中预置业务维度结合实际业务进行确定,业务划分处理包括按照预置业务维度对原始软件源代码进行控制层、业务层和数据访问层的拆分和合并,其中,控制层主要用于接收和请求数据;业务层主要用于对数据访问层进行封装,得到业务功能;数据访问层主要用于对数据进行增删改查数据操作,进一步地,服务器对controller、service和mapper乐行的代码文件进行划分处理,得到微服务后台服务框架的迁移结果。
本发明实施例中,通过对原始软件源代码统计得到元数据信息,根据元数据信息和预置配置生成微服务后台服务框架和相关依赖,完成微服务框架迁移,降低应用程序的代码量,提高业务运行效率。
请参阅图2,本发明实施例中微服务框架的迁移方法的另一个实施例包括:
201、读取预置配置信息,得到原始软件源代码的目录信息,并根据目录信息设置扫描策略,该扫描策略包括待扫描目录和待扫描文件扩展名;
服务器读取预置配置信息,得到原始软件源代码的目录信息,并根据目录信息设置扫描策略,该扫描策略包括待扫描目录和待扫描文件扩展名。其中,预置配置信息包括原始软件源代码的路径信息以及原始软件源代码的各个层级目录信息,原始软件源代码为基于spring框架生成的单系统应用代码。
具体的,服务器根据目录信息设置扫描策略,该扫描策略包括待扫描目录和待扫描文件扩展名,具体的,服务器根据目录信息设置待扫描目录;服务器为待扫描目录分配权重值,权重值用于指示待扫描目录的优先级别,其中,服务器设置根目录的优先级别高于子目录的优先级,例如,root目录的权重值为10,src目录的权重值为1,则root目录的权重值大于src目录的权重值,服务器确定root目录的优先级高于src目录的优先级;服务器按照权重值从大到小的顺序对待扫描目录进行排序;服务器根据预置后缀格式设置待扫描文件扩展名;服务器将排序后的待扫描目录和待扫描文件扩展名设置为扫描策略。进一步地,服务器设置不扫描目录,以便于排除某些目录下的指定目录,例如,服务器配置排除不进行扫描的目录test目录。
202、根据待扫描目录扫描原始软件源代码,得到多个目标文件和目标文件的数量,多个目标文件用于指示将待扫描文件扩展名作为后缀的所有文件;
服务器根据待扫描目录扫描原始软件源代码,得到多个目标文件,多个目标文件用于指示将待扫描文件扩展名作为后缀的所有文件。具体的,服务器根据待扫描文件扩展名和待扫描目录扫描原始软件源代码的根目录,得到第一目标文件;服务器根据待扫描文件扩展名采用非递归方式扫描原始软件源代码的各级子目录,得到第二目标文件;服务器统计第一目标文件和第二目标文件,得到多个目标文件,目标文件用于指示将待扫描文件扩展名作为后缀的所有文件,其中,待扫描文件扩展名包括.java和.xml为文件后缀格式,进一步地,服务器采用正则匹配方式匹配待扫描文件扩展名,正则匹配方式包括".*\\.java$"和".*\\.xml$";服务器统计多个目标文件的数量;服务器确定多个目标文件的路径信息,并将多个目标文件的路径信息记录到预置数据表中。
203、读取并统计多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数;
服务器读取并统计多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数。具体的,服务器读取每个目标文件,得到每个目标文件对应的源代码信息;服务器对每个目标文件对应的源代码信息进行遍历,得到待查询行数据;服务器判断待查询行数据是否为空值;若待查询行数据不是空值,则服务器去除待查询行数据;若待查询行数据不是空值,则服务器删除待查询行数据的空格;服务器根据预置空行正则匹配规则判断待查询的行数据是否为空行,预置空行正则匹配规则包括第一预置符号,例如,第一预置符号包括"^[]*$";若待查询的行数据为空行数据,则服务器对空行行数进行加1;若待查询的行数据不为空行数据,则服务器根据预置注释正则匹配规则判断待查询的行数据是否为注释数据,预置注释正则匹配规则包括第二预置符号,例如,第二预置符号包括"//"和/或"/*"、"*/";若待查询的行数据为注释数据,则服务器对注释行数进行加1;若待查询的行数据不为注释数据,则服务器对代码行数进行加1,直到待查询行数据为空值时,服务器确定该目标文件统计结束,并将该目标文件的代码行数、空行行数和注释行数与目标文件按照对应关系记录到预置数据表中;进一步地,服务器重复执行以上步骤,直到对多个目标文件统计完成。
需要说明的是,服务器统计每个目标文件的代码行数、空行行数和注释行数之前,将初始化每个目标文件的代码行数、空行行数和注释行数为0。
204、统计并整合多个目标文件、目标文件的数量、代码行数、空行行数和注释行数,得到元数据信息,并将元数据信息存储到预置数据表中;
服务器统计并整合多个目标文件、目标文件的数量、代码行数、空行行数和注释行数,得到元数据信息,并将元数据信息存储到预置数据表中。例如,服务器统计并整合目标文件A,得到元数据信息,元数据信息包括目标文件的数量为1、代码行数为67,空行行数10和注释行数为18,进一步地,得到代码总行数为95。
可以理解的是,代码总行数S为代码行数A、空行行数B以及注释行数C的和,也就是S=A+B+C。
205、对元数据信息进行解析和标注,得到基于预置框架的初始微服务项目,该预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;
服务器对元数据信息进行解析和标注,得到基于预置框架的初始微服务项目,该预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架。初始微服务项目就是将一个大型的原始软件源代码拆分成若干个小的服务,原始软件源代码拆分包括对原始软件源代码进行控制层、业务层和数据访问层的拆分,其中控制层主要用于接收和请求数据;业务层主要用于对数据访问层进行封装,得到业务功能;数据访问层主要用于对数据进行增删改查数据操作。
具体的,首先,服务器获取基于微服务开发框架spring boot预先搭建的微服务后台服务框架,并从预置数据表中读取元数据信息,得到目标文件和代码行数;服务器根据代码行数确定代码量,并将代码量大于预置阈值的目标文件进行拆分;当代码量大于预置阈值时,服务器确定代码行数过高表示某个类型或函数执行过多的工作,难以维护,应当对该目标文件进行拆分;进一步地,服务器从元数据信息和拆分后的目标文件中查询文件扩展名为面向对象编程语言java的目标文件,得到第一目标文件。
然后,当检测到第一目标文件名称的结尾字符为第一预置标识时,服务器对该第一目标文件中预置关键字添加第一预置注解,其中,第一预置标识为控制标识Controller,用于控制层,例如,目标文件的名称为PreNumController,目标文件中预置关键字为公有类public class,第一预置注解为控制注解@Controller;当检测到第一目标文件名称的结尾字符为第二预置标识时,对该第一目标文件中预置关键字添加第二预置注解,其中,第二预置标识为服务接口实现ServiceImpl,用于业务层,例如,目标文件的名称为PreNumServiceImpl,目标文件中预置关键字为public class,第二预置注解为服务注解@Service;当检测到第一目标文件名称的结尾字符为第三预置标识时,对该第一目标文件中预置关键字添加第三预置注解,其中,第三预置标识为数据访问组件DaoImpl,用于数据访问层,例如,目标文件的名称为PreNumDaoImpl,目标文件中预置关键字为public class,第三预置注解为仓库注解@Repository。
最后,服务器将修改后的第一目标文件复制到微服务后台服务框架中的预置接口类同级目录下,并添加预置相关依赖,得到基于预置框架的初始微服务项目。
需要说明的是,预置注解包括@Controller、@Service和@Repository。其中@Controller、@Service和@Repository是一种特定的组件,通常用来表示某种特定场合下的组件,例如,@Repository用来表示数据仓库DAO层;@Service则用来表示服务层相关的类,@Controller则用来表示控制层的类。
206、根据元数据信息生成新的配置类,并将新的配置类添加到初始微服务项目中;
服务器根据元数据信息生成新的配置类,并将新的配置类添加到初始微服务项目中。服务器在使用spring boot时,配置好相应的spring boot就可以用所有的spring组件,也就是说,spring boot就是spring,做了很多spring bean配置。
具体的,服务器从元数据信息中查询文件扩展名为可扩展标记语言xml的目标文件,得到第二目标文件;服务器读取第二目标文件,得到xml配置内容;服务器对xml配置内容中配置类属性为第一标识和第二标识的内容进行过滤;服务器根据过滤后的xml配置内容生成新的配置类,并将第四预置注解添加到新的配置类中,其中,第四预置注解为配置注解@Configuration。
举例说明,过滤后的xml配置内容如下所示:
<beans>
<bean id="myTest"class="com.acme.services.AppConfigImpl"/>
</beans>
服务器根据过滤后的xml配置内容生成新的配置类AppConfig,并将第四预置注解@Configuration添加到新的配置类AppConfig中。新的配置类如下所示:
Figure BDA0002344542780000121
进一步地,服务器将xml文件和新的配置类添加到初始微服务项目中。
207、根据预置业务维度对初始微服务项目进行业务划分处理,得到微服务后台服务框架的迁移结果。
服务器根据预置业务维度对初始微服务项目进行业务划分处理,得到微服务后台服务框架的迁移结果。其中,初始微服务项目包括控制controller、服务service和映射mapper类型的代码文件。
具体的,首先,服务器根据预置业务维度从原始软件源代码中查询得到原始业务模块,并将原始业务模块写入模块配置文件中。
其次,服务器根据预置业务维度从原始软件源代码中查询得到原始业务模块,并将原始业务模块写入模块配置文件中,其中,原始业务模块用于指示根据预置业务维度结合实际业务进行业务切分。模块配置文件内容如下所示:
Figure BDA0002344542780000131
其中,xx.xx.xx.order中第四层order目录就是order模块。例如,微服务的订单模块包含了原有软件源代码中的通知单、订单和保单等模块,切分模块就是将路径path标签层级标识更深。
最后,服务器根据模块配置文件对初始微服务项目中的目标文件进行业务拆分和/或业务合并,得到微服务后台服务框架的迁移结果。
本发明实施例中,通过对原始软件源代码统计得到元数据信息,根据元数据信息和预置配置生成微服务后台服务框架和相关依赖,完成微服务框架迁移,降低应用程序的代码量,提高业务运行效率。
上面对本发明实施例中微服务框架的迁移方法进行了描述,下面对本发明实施例中微服务框架的迁移装置进行描述,请参阅图3,本发明实施例中微服务框架的迁移装置的一个实施例包括:
统计单元301,用于根据预置配置信息统计原始软件源代码,得到元数据信息;
解析标注单元302,对元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;
生成单元303,用于根据元数据信息生成新的配置类,并将新的配置类添加到初始微服务项目中;
划分单元304,用于根据预置业务维度对初始微服务项目进行业务划分处理,得到微服务后台服务框架的迁移结果。
本发明实施例中,通过对原始软件源代码统计得到元数据信息,根据元数据信息和预置配置生成微服务后台服务框架和相关依赖,完成微服务框架迁移,降低应用程序的代码量,提高业务运行效率。
请参阅图4,本发明实施例中微服务框架的迁移装置的另一个实施例包括:
统计单元301,用于根据预置配置信息统计原始软件源代码,得到元数据信息;
解析标注单元302,对元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;
生成单元303,用于根据元数据信息生成新的配置类,并将新的配置类添加到初始微服务项目中;
划分单元304,用于根据预置业务维度对初始微服务项目进行业务划分处理,得到微服务后台服务框架的迁移结果。
可选的,统计单元301还可以进一步包括:
读取子单元3011,用于读取预置配置信息,得到原始软件源代码的目录信息;
设置子单元3012,用于根据目录信息设置扫描策略,扫描策略包括待扫描目录和待扫描文件扩展名;
扫描子单元3013,用于根据待扫描目录扫描原始软件源代码,得到多个目标文件和目标文件的数量,多个目标文件用于指示将待扫描文件扩展名作为后缀的所有文件;
统计子单元3014,用于读取并统计多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数;
整合子单元3015,用于统计并整合多个目标文件、目标文件的数量、代码行数、空行行数和注释行数,得到元数据信息,并将元数据信息存储到预置数据表中。
可选的,解析标注单元302还可以具体用于:
获取基于微服务开发框架spring boot预先搭建的微服务后台服务框架;从预置数据表中读取元数据信息,得到目标文件和代码行数;
根据代码行数确定代码量,并将代码量大于预置阈值的目标文件进行拆分;
从元数据信息和拆分后的目标文件中查询文件扩展名为面向对象编程语言java的目标文件,得到第一目标文件;
当检测到第一目标文件名称的结尾字符为第一预置标识时,对第一目标文件中的预置关键字添加第一预置注解;
当检测到第一目标文件名称的结尾字符为第二预置标识时,对第一目标文件中的预置关键字添加第二预置注解;
当检测到第一目标文件名称的结尾字符为第三预置标识时,对第一目标文件中的预置关键字添加第三预置注解;
将修改后的第一目标文件复制到微服务后台服务框架中的预置接口类同级目录下,并添加预置相关依赖,得到基于预置框架的初始微服务项目。
可选的,生成单元303还可以具体用于:
从元数据信息中查询文件扩展名为可扩展标记语言xml的目标文件,得到第二目标文件;
读取第二目标文件,得到xml配置内容;
对xml配置内容中配置类属性为第一标识和第二标识的内容进行过滤;
根据过滤后的xml配置内容生成新的配置类,并将第四预置注解添加到新的配置类中;述xml文件和新的配置类添加到初始微服务项目中。
可选的,划分单元304还可以具体用于:
根据预置业务维度从原始软件源代码中查询得到原始业务模块,并将原始业务模块写入模块配置文件中;
根据模块配置文件对初始微服务项目中的目标文件进行业务拆分和/或业务合并,得到微服务后台服务框架的迁移结果。
可选的,设置子单元3012还可以具体用于:
根据目录信息设置待扫描目录;
为待扫描目录分配权重值,权重值用于指示待扫描目录的优先级别;
按照权重值从大到小的顺序对待扫描目录进行排序;
根据预置后缀格式设置待扫描文件扩展名;
将排序后的待扫描目录和待扫描文件扩展名设置为扫描策略。
可选的,统计子单元3014还可以具体用于:
读取每个目标文件,得到每个目标文件对应的源代码信息;
对每个目标文件对应的源代码信息进行遍历,得到待查询行数据;
判断待查询行数据是否为空值;
若待查询行数据为空值,则去除待查询行数据;
若待查询行数据不为空值,则删除待查询行数据的空格;
根据预置空行正则匹配规则判断待查询的行数据是否为空行,预置空行正则匹配规则包括第一预置符号;
若待查询的行数据为空行数据,则对空行行数进行加1;
若待查询的行数据不为空行数据,则根据预置注释正则匹配规则判断待查询的行数据是否为注释数据,预置注释正则匹配规则包括第二预置符号;
若待查询的行数据为注释数据,则对注释行数进行加1;
若待查询的行数据不为注释数据,则对代码行数进行加1,直到待查询行数据为空值时,确定目标文件统计结束;
将代码行数、空行行数和注释行数与每个目标文件按照对应关系记录到预置数据表中;
重复执行以上步骤,直到对多个目标文件统计完成。
本发明实施例中,通过对原始软件源代码统计得到元数据信息,根据元数据信息和预置配置生成微服务后台服务框架和相关依赖,完成微服务框架迁移,降低应用程序的代码量,提高业务运行效率。
上面图3和图4从模块化功能实体的角度对本发明实施例中的微服务框架的迁移装置进行详细描述,下面从硬件处理的角度对本发明实施例中微服务框架的迁移设备进行详细描述。
图5是本发明实施例提供的一种微服务框架的迁移设备的结构示意图,该微服务框架的迁移设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501(例如,一个或一个以上处理器)和存储器509,一个或一个以上存储应用程序507或数据506的存储介质508(例如一个或一个以上海量存储设备)。其中,存储器509和存储介质508可以是短暂存储或持久存储。存储在存储介质508的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对微服务框架的迁移设备中的一系列指令操作。更进一步地,处理器501可以设置为与存储介质508通信,在微服务框架的迁移设备500上执行存储介质508中的一系列指令操作。
微服务框架的迁移设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统505,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5中示出的微服务框架的迁移设备结构并不构成对微服务框架的迁移设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种微服务框架的迁移方法,其特征在于,包括:
根据预置配置信息统计原始软件源代码,得到元数据信息;
所述根据预置配置信息统计原始软件源代码,得到元数据信息还包括:
读取预置配置信息,得到原始软件源代码的目录信息;
根据所述目录信息设置扫描策略,所述扫描策略包括待扫描目录和待扫描文件扩展名;
根据所述待扫描目录扫描所述原始软件源代码,得到多个目标文件和目标文件的数量,所述多个目标文件用于指示将所述待扫描文件扩展名作为后缀的所有文件;
读取并统计所述多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数;
统计并整合所述多个目标文件、所述目标文件的数量、所述代码行数、所述空行行数和所述注释行数,得到元数据信息,并将所述元数据信息存储到预置数据表中;
对所述元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,所述预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;
所述对所述元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,所述预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架还包括:
获取基于微服务开发框架spring boot预先搭建的微服务后台服务框架;
从所述预置数据表中读取元数据信息,得到所述目标文件和所述代码行数;
根据所述代码行数确定代码量,并将所述代码量大于预置阈值的目标文件进行拆分;
从所述元数据信息和拆分后的目标文件中查询文件扩展名为面向对象编程语言java的目标文件,得到第一目标文件;
当检测到第一目标文件名称的结尾字符为第一预置标识时,对所述第一目标文件中的预置关键字添加第一预置注解;
当检测到第一目标文件名称的结尾字符为第二预置标识时,对所述第一目标文件中的预置关键字添加第二预置注解;
当检测到第一目标文件名称的结尾字符为第三预置标识时,对所述第一目标文件中的预置关键字添加第三预置注解;
将修改后的第一目标文件复制到所述微服务后台服务框架中的预置接口类同级目录下,并添加预置相关依赖,得到基于预置框架的初始微服务项目;
根据所述元数据信息生成新的配置类,并将所述新的配置类添加到所述初始微服务项目中;
所述根据所述元数据信息生成新的配置类,并将所述新的配置类添加到所述初始微服务项目中还包括:
从所述元数据信息中查询所述文件扩展名为可扩展标记语言xml的目标文件,得到第二目标文件;
读取所述第二目标文件,得到xml配置内容;
对所述xml配置内容中配置类属性为第一标识和第二标识的内容进行过滤;
根据过滤后的xml配置内容生成新的配置类,并将第四预置注解添加到所述新的配置类中;
将xml文件和所述新的配置类添加到所述初始微服务项目中;
根据预置业务维度对所述初始微服务项目进行业务划分处理,得到所述微服务后台服务框架的迁移结果。
2.根据权利要求1所述的微服务框架的迁移方法,其特征在于,所述根据预置业务维度对所述初始微服务项目进行业务划分处理,得到所述微服务后台服务框架的迁移结果包括:
根据预置业务维度从所述原始软件源代码中查询得到原始业务模块,并将所述原始业务模块写入模块配置文件中;
根据所述模块配置文件对所述初始微服务项目中的目标文件进行业务拆分和/或业务合并,得到所述微服务后台服务框架的迁移结果。
3.根据权利要求1所述的微服务框架的迁移方法,其特征在于,所述根据所述目录信息设置扫描策略,所述扫描策略包括待扫描目录和待扫描文件扩展名包括:
根据所述目录信息设置待扫描目录;
为所述待扫描目录分配权重值,所述权重值用于指示所述待扫描目录的优先级别;
按照所述权重值从大到小的顺序对所述待扫描目录进行排序;
根据预置后缀格式设置待扫描文件扩展名;
将排序后的待扫描目录和所述待扫描文件扩展名设置为扫描策略。
4.根据权利要求1所述的微服务框架的迁移方法,其特征在于,所述读取并统计所述多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数包括:
读取每个目标文件,得到所述每个目标文件对应的源代码信息;
对所述每个目标文件对应的源代码信息进行遍历,得到待查询行数据;
判断所述待查询行数据是否为空值;
若所述待查询行数据为所述空值,则去除所述待查询行数据;
若所述待查询行数据不为所述空值,则删除所述待查询行数据的空格;
根据预置空行正则匹配规则判断所述待查询的行数据是否为空行,所述预置空行正则匹配规则包括第一预置符号;
若所述待查询的行数据为空行数据,则对空行行数进行加1;
若所述待查询的行数据不为空行数据,则根据预置注释正则匹配规则判断所述待查询的行数据是否为注释数据,所述预置注释正则匹配规则包括第二预置符号;
若所述待查询的行数据为所述注释数据,则对注释行数进行加1;
若所述待查询的行数据不为所述注释数据,则对代码行数进行加1,直到所述待查询行数据为所述空值时,确定所述目标文件统计结束;
将所述代码行数、所述空行行数和所述注释行数与所述每个目标文件按照对应关系记录到所述预置数据表中;
重复执行以上步骤,直到对所述多个目标文件统计完成。
5.一种微服务框架的迁移装置,其特征在于,所述微服务框架的迁移装置包括:
统计单元,用于根据预置配置信息统计原始软件源代码,得到元数据信息;
所述根据预置配置信息统计原始软件源代码,得到元数据信息还包括:
读取预置配置信息,得到原始软件源代码的目录信息;
根据所述目录信息设置扫描策略,所述扫描策略包括待扫描目录和待扫描文件扩展名;
根据所述待扫描目录扫描所述原始软件源代码,得到多个目标文件和目标文件的数量,所述多个目标文件用于指示将所述待扫描文件扩展名作为后缀的所有文件;
读取并统计所述多个目标文件,得到每个目标文件的代码行数、空行行数和注释行数;
统计并整合所述多个目标文件、所述目标文件的数量、所述代码行数、所述空行行数和所述注释行数,得到元数据信息,并将所述元数据信息存储到预置数据表中;
解析标注单元,对所述元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,所述预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架;
所述对所述元数据信息进行解析并标注,得到基于预置框架的初始微服务项目,所述预置框架用于指示基于微服务开发框架spring boot预先搭建的微服务后台服务框架还包括:
获取基于微服务开发框架spring boot预先搭建的微服务后台服务框架;
从所述预置数据表中读取元数据信息,得到所述目标文件和所述代码行数;
根据所述代码行数确定代码量,并将所述代码量大于预置阈值的目标文件进行拆分;
从所述元数据信息和拆分后的目标文件中查询文件扩展名为面向对象编程语言java的目标文件,得到第一目标文件;
当检测到第一目标文件名称的结尾字符为第一预置标识时,对所述第一目标文件中的预置关键字添加第一预置注解;
当检测到第一目标文件名称的结尾字符为第二预置标识时,对所述第一目标文件中的预置关键字添加第二预置注解;
当检测到第一目标文件名称的结尾字符为第三预置标识时,对所述第一目标文件中的预置关键字添加第三预置注解;
将修改后的第一目标文件复制到所述微服务后台服务框架中的预置接口类同级目录下,并添加预置相关依赖,得到基于预置框架的初始微服务项目;
生成单元,用于根据所述元数据信息生成新的配置类,并将所述新的配置类添加到所述初始微服务项目中;
所述根据所述元数据信息生成新的配置类,并将所述新的配置类添加到所述初始微服务项目中还包括:
从所述元数据信息中查询所述文件扩展名为可扩展标记语言xml的目标文件,得到第二目标文件;
读取所述第二目标文件,得到xml配置内容;
对所述xml配置内容中配置类属性为第一标识和第二标识的内容进行过滤;
根据过滤后的xml配置内容生成新的配置类,并将第四预置注解添加到所述新的配置类中;
将xml文件和所述新的配置类添加到所述初始微服务项目中;
划分单元,用于根据预置业务维度对所述初始微服务项目进行业务划分处理,得到所述微服务后台服务框架的迁移结果。
6.一种微服务框架的迁移设备,其特征在于,所述微服务框架的迁移设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述微服务框架的迁移设备执行如权利要求1-4中任意一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-4中任意一项所述方法的步骤。
CN201911389453.7A 2019-12-30 2019-12-30 微服务框架的迁移方法、装置、设备及存储介质 Active CN111221570B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911389453.7A CN111221570B (zh) 2019-12-30 2019-12-30 微服务框架的迁移方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911389453.7A CN111221570B (zh) 2019-12-30 2019-12-30 微服务框架的迁移方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111221570A CN111221570A (zh) 2020-06-02
CN111221570B true CN111221570B (zh) 2022-07-15

Family

ID=70811365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911389453.7A Active CN111221570B (zh) 2019-12-30 2019-12-30 微服务框架的迁移方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111221570B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953735A (zh) * 2020-07-15 2020-11-17 烽火通信科技股份有限公司 系统微服务化改造方法、装置、设备及存储介质
CN112148710B (zh) * 2020-09-21 2023-11-14 珠海市卓轩科技有限公司 微服务分库方法、系统和介质
CN112688915A (zh) * 2020-12-07 2021-04-20 北京小米松果电子有限公司 跨协议通信方法、装置及服务器
CN112817567B (zh) * 2021-01-28 2022-07-15 中国科学技术大学 一种微服务应用的openwhisk无服务框架迁移方法
CN113609003A (zh) * 2021-07-16 2021-11-05 深圳开源互联网安全技术有限公司 代码行数统计方法、系统、终端及存储介质
CN115309703B (zh) * 2022-10-10 2023-01-03 联想凌拓科技有限公司 文件读取方法及装置、电子设备及存储介质
CN116009960B (zh) * 2023-02-14 2024-01-23 花瓣云科技有限公司 一种目标微服务迁移方法、系统和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750469A (zh) * 2013-12-30 2015-07-01 中国银联股份有限公司 源代码统计分析方法和系统
CN108156022A (zh) * 2017-12-04 2018-06-12 北京奇艺世纪科技有限公司 一种服务调用方法、装置及电子设备
CN108363566A (zh) * 2018-01-30 2018-08-03 中国平安人寿保险股份有限公司 一种项目开发过程中文件配置方法、智能终端及存储介质
CN108874464A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 中间件自动扫描装配方法、装置及存储介质
KR101909420B1 (ko) * 2018-04-17 2018-12-19 부산대학교 산학협력단 모놀리식 애플리케이션을 마이크로서비스 단위로 구성하는 장치 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10547682B2 (en) * 2016-11-10 2020-01-28 Adobe Inc. Dynamically scaling application components using microservices
US10620947B2 (en) * 2018-02-15 2020-04-14 Wipro Limited Method and system for migrating monolithic enterprise applications to microservice architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750469A (zh) * 2013-12-30 2015-07-01 中国银联股份有限公司 源代码统计分析方法和系统
CN108156022A (zh) * 2017-12-04 2018-06-12 北京奇艺世纪科技有限公司 一种服务调用方法、装置及电子设备
CN108363566A (zh) * 2018-01-30 2018-08-03 中国平安人寿保险股份有限公司 一种项目开发过程中文件配置方法、智能终端及存储介质
KR101909420B1 (ko) * 2018-04-17 2018-12-19 부산대학교 산학협력단 모놀리식 애플리케이션을 마이크로서비스 단위로 구성하는 장치 및 방법
CN108874464A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 中间件自动扫描装配方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于微服务架构的基础设施设计;蒋勇;《软件》;20160515(第05期);第101-105页 *

Also Published As

Publication number Publication date
CN111221570A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
CN111221570B (zh) 微服务框架的迁移方法、装置、设备及存储介质
US8881131B2 (en) Method and apparatus for populating a software catalogue with software knowledge gathering
JP5798503B2 (ja) ファイルリスト生成方法及びシステム、ファイルリスト生成装置並びにプログラム
JP5759915B2 (ja) ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置
JP5537005B2 (ja) 指定のストレージ階層においてファイル・システム操作を実施するためのシステム及び方法
US8499006B2 (en) Data migration system and data migration method
JP5939123B2 (ja) 実行制御プログラム、実行制御方法および情報処理装置
CN111367976A (zh) 基于java反射机制的excel文件数据的导出方法及装置
CN103077192B (zh) 一种数据处理方法及其系统
CN110232004A (zh) 一种apfs文件系统数据恢复方法
US6847967B1 (en) Information set importance determination system and information set importance determination method
US20110107198A1 (en) Information processing apparatus, storage medium, and information processing method
CN112307191A (zh) 多系统交互式日志查询方法、装置、设备及存储介质
CN106775824A (zh) 一种带有渠道信息的应用文件打包系统及方法
CN102902770A (zh) 一种镜像文件拼装方法及系统
JP4422742B2 (ja) 全文検索システム
JP2011248658A (ja) 仮想サーバデプロイ管理装置及び方法、そのプログラム
US9235578B2 (en) Data partitioning apparatus and data partitioning method
CN112306504A (zh) 基于配置需求的模块部署方法、装置、设备及存储介质
CN110727565B (zh) 一种网络设备平台信息收集方法及系统
Dewald et al. Incident Analysis and Forensics in Docker Environments
JP2012208565A (ja) ログ管理方法、ログ管理装置、及びプログラム
US8938715B2 (en) Using the z/OS load module system status index to distinguish product tag files
JP2016018279A (ja) 文書ファイル検索プログラム、文書ファイル検索装置、文書ファイル検索方法、文書情報出力プログラム、文書情報出力装置及び文書情報出力方法
CN113792026A (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
GR01 Patent grant
GR01 Patent grant