CN111651451A - 一种场景驱动的单体***微服务拆分方法 - Google Patents
一种场景驱动的单体***微服务拆分方法 Download PDFInfo
- Publication number
- CN111651451A CN111651451A CN202010335919.1A CN202010335919A CN111651451A CN 111651451 A CN111651451 A CN 111651451A CN 202010335919 A CN202010335919 A CN 202010335919A CN 111651451 A CN111651451 A CN 111651451A
- Authority
- CN
- China
- Prior art keywords
- data
- scene
- splitting
- sql
- tables
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于软件工程与微服务技术领域,具体为一种场景驱动的单体***微服务拆分方法。本发明方法,首先通过监控典型应用场景测试用例的执行,动态分析获取单体***运行时的方法调用和数据库操作信息,生成***的数据访问轨迹图;然后对底层的数据表图进行加权和聚合,基于数据表之间的关联分析生成数据库拆分方案;再在数据访问轨迹图上进行搜索,产生相应的代码模块拆分方案。本发明以半自动化的方式,从现有代码和数据模式出发,将业务流程、方法调用链和数据表三者进行关联,使业务的独立性、代码的内聚/耦合性、数据间的关联度都成为数据库拆分依据,生成代码模块的拆分方案;可显著提升微服务拆分的决策速度,减轻开发人员决策负担。
Description
技术领域
本发明属于软件工程与微服务技术领域,具体涉种单体***微服务拆分方法。
背景技术
微服务是将一个大型复杂的软件***分解成一组独立运行、以轻量级通信机制进行交互的相对较小的服务。这些服务围绕业务功能进行构建,可以独立开发、测试、部署和更新,以此带来的好处包括***架构的解耦、单个服务的交付周期缩短、技术选型更灵活、可扩展性更好、复用性更高等等。
在企业实践中,许多微服务***都是在单体架构的遗留***基础上通过微服务拆分和改造形成的,其中的拆分决策(尤其是数据库拆分)对于微服务***的架构质量有着很大的影响。前单体***的微服务拆分决策主要依赖于架构人员和开发人员的分析和经验,整个过程成本高、耗时长、自动化程度低,相关的研究工作主要集中在经验总结和方法论上。已有的工具并不支持数据库的拆分且代码拆分粒度过大,同时需要人工分析或输入的数据量过多、不适用于大型单体***的拆分。
发明内容
本发明的目的在于提供一种可显著提升微服务拆分决策速度的场景驱动的单体***微服务拆分方法。
本发明提出的场景驱动的单体***微服务拆分方法,基于测试驱动的理念,首先通过监控典型应用场景测试用例的执行,动态分析获取单体***运行时的方法调用和数据库操作信息,生成***的数据访问轨迹图;然后根据数据访问轨迹图对底层的数据表图进行加权和聚合,基于数据表之间的关联分析生成数据库拆分方案;再在数据访问轨迹图上自底向上进行搜索,产生相应的代码模块拆分方案。整体流程如图1所示,具体步骤如下。
(1)准备测试用例。即准备一组覆盖了***主要业务流程和功能的用户使用场景级别的测试用例;一个用例对应于一个用户场景,一个场景包含若干个界面输入或点击操作;每个测试用例对应一个用例权重,权重大小根据对应场景的重要度进行设置。
(2)构建数据访问轨迹图。根据原单体***的运行时数据构建数据访问轨迹图,如图2所示,具体包括以下子步骤:
1)在单体***中配置监控工具,顺序执行测试用例,每次执行测试用例时输入对应的场景名与权重;
2)获取***运行测试用例期间的方法调用和数据访问日志,并将其与用户场景相关联,即每条监控日志都记录了其对应的场景名、场景标识和场景权重;日志共有三种不同的类型,分别用于记录方法调用时的方法签名、执行数据库访问时的SQL(Structured QueryLanguage,结构化查询语言)语句和数据操作时对应的数据表;
3)根据监控日志构建数据访问轨迹图,如图2所示,图中每个场景关联若干请求,每个请求对应一条方法调用链;一条方法调用链是若干方法的执行序列,其中有些方法会关联SQL 节点,这说明该方法执行过程中调用了这些SQL 语句;而SQL 节点会关联若干个数据表节点(在图2中以虚线箭头表示),代表这条SQL 语句在实际执行过程中访问了这些数据表中的数据。
(3)生成微服务拆分方案。根据数据访问轨迹图,结合微服务化拆分有关的多个考量维度,生成一张无向加权的数据表图,然后通过对数据表进行聚类划分,得到数据表的划分方案,最后在数据访问轨迹图中自底向上进行搜索,获取与数据表拆分结果相符合的代码拆分方案。具体包括以下子步骤:
1)根据数据访问轨迹图,加权累加任意两个数据表出现在同一条SQL语句、同一条方法调用链或同一个用户场景下的场景权重,得到数据表之间的关联度矩阵。两数据表之间的关联权重越大,越倾向于将它们划分到同一个微服务中;
2)计算每个数据表分别在所有场景、方法调用链和SQL语句中出现的比例,将这三个比例加权累加得到数据表的数据共享度。按照0.08到0.3的比例提取共享度高的数据表,再分别从SQL、调用链和场景三个级别计算提取出的共享表之间的数据依赖度,将彼此间数据依赖度满足共享群组提取条件(参见“具体实施方法”第三点的第四小点)的共享表划分到同一个共享群组。以此得到若干个共享群组,这些群组倾向于单独提取出来作为一个微服务;
3)对数据表关联度矩阵做出调整,对于连接同一个共享群组中两张表的边,保持比较大的权重(例如权重调整到0.8以上,或0.9及以上(权重最大值为1)),增加它们被划分到同一个微服务的概率;削减与该表相连的其它边的权重,降低该边相连的两张表被划分到同一个微服务的概率;
4)对数据表关联度矩阵进行聚类划分,同时结合拆分开销,选择最优的数据库拆分方案;
5)对于每个服务中的数据表,在图2的数据访问轨迹图中顺着调用关系自底向上搜索访问了这些数据表的SQL 语句、方法和类节点,得到和数据库拆分对应的代码拆分方案;最终的拆分方案包含了每个微服务所含的数据表、SQL语句、方法和类,并标识出需要进行拆分的SQL语句、方法和类。
(4)反馈调整。用户反馈迭代式地对结果做出微调,从而起到间接优化权重矩阵的作用,令最终的拆分方案更符合实际需求,具体有以下四种反馈调整方式:
1)调整共享群组,可以人工删除那些明显不适合单独提取出来的表,避免生成权重矩阵时错误地削减了相应边的权重,也可以手动添加或者修改共享群组;
2)调整模块度与拆分开销的比例,将拆分开销控制在用户可以接受的范围之内;
3)调整维服务数量,选择合适的拆分粒度;
4)手动调整个别数据表的归属。
本发明以半自动化的方式,从现有的代码和数据模式出发,将业务流程、方法调用链和数据表三者进行关联,使得业务的独立性、代码的内聚/耦合性、数据间的关联度都成为数据库拆分依据,进而根据数据库拆分方案生成代码模块的拆分方案,从而显著提升微服务拆分的决策速度,减轻开发人员的决策负担。
附图说明
图1为本发明的单体***微服务拆分方法的流程图。
图2为本发明所构建的数据访问轨迹图。
具体实施方式
以下介绍针对使用Spring框架的单体***的微服务拆分的具体实施方法。
(1)准备测试用例。主要由对***比较了解的开发人员或测试人员进行用户场景划分、提供测试用例和标记权重。每个测试用例的权重大小默认为1,对于一些比较重要或者使用频率很高的业务场景,例如火车站订票***的订票场景、购物网站的下单流程等,可以适当增加权重。
(2)构建数据访问轨迹图。通过改造已有的应用性能监控工具Kieker,拦截JDBC执行的SQL 语句,再使用语法解析工具JSqlParser 获取SQL 语句操作的数据表名,实现将方法调用链和操作的数据相关联。同时,在监控工具中新增场景信息输入页面,使得整个用例执行期间生成的每条日志都带有场景名和权重信息。使用Neo4j数据库存储数据访问轨迹图和项目的静态结构。
(3)生成微服务拆分方案。
1)数据关联度定义:定义两数据表在场景/方法调用链/SQL层次的数据关联度分别为同时操作了这两张表的场景/方法调用链/SQL语句的累加权重与操作其中任意一张表的场景/方法调用链/SQL语句的累加权重之比。
2)数据共享度定义:定义单个数据表在场景/方法调用链/SQL层次的数据共享度分别为操作该表的场景/方法调用链/SQL语句数量占总场景/方法调用链/SQL语句数量的比例。
3)数据依赖度定义:定义表A对表B的场景/方法调用链/SQL依赖度分别为同时操作A、B两张表的场景/方法调用链/SQL语句数量占操作表A的场景/方法调用链/SQL语句数量的比例。
4)共享群组提取条件(两共享表A和B之间的数据依赖度满足以下任一条件即可被划分为同一共享群组):
条件一:表A对表B的SQL依赖度与表B对表A的SQL依赖度之和大于1.4;
条件二:表A对表B的方法调用链依赖度与表B对表A的方法调用链依赖度之和大于1.6;
条件三:表A对表B的场景依赖度与表B对表A的场景依赖度之和大于2;
条件四:表A对表B的SQL依赖度、方法调用链依赖度与表B对表A的SQL依赖度、方法调用链依赖度之和大于2.8,并且表A对表B的场景依赖度与表B对表A的场景依赖度之和大于1;
5)使用Girvan-Newman算法进行数据表图的聚类,得到若干个粒度不同的数据表划分方案。计算每个拆分方案对应的模块度和需要拆分的SQL语句、方法和类的数量,结合模块度和拆分开销选择评分最高的一个方案作为最终的数据库拆分方案;
6)根据数据库拆分方案,在数据访问轨迹图中自底向上进行搜索,将操作了同一个分组中数据表的SQL语句和方法划分到同一个微服务中。如果一个SQL语句、方法或类操作了不同分组的数据表,则认为需要对该SQL语句、方法或类进行拆分。
(4)反馈调整。四种反馈调整的策略作用于整个方法流程的不同时期。其中“调整共享群组”直接影响数据表关联度矩阵,需要重新运行数据表聚类算法;“调整模块度与拆分开销的比例”和“调整服务数量”后,在已有的多个数据表划分方案中根据调整后的参数进行选择,不需要重新运行聚类算法;“手动调整个别数据表所归属的服务”后数据库表划分方案已经确定,可以据此直接给出相应的代码拆分方案。
本发明方法对四个不同领域的开源软件***进行了案例研究和对比实验,其中人工拆分在四个***上的平均耗时分别是204.3分钟、265.3分钟、237分钟和296分钟,而本方法的最终拆分耗时分别是93分钟、125分钟、125分钟和178分钟,一定程度上表明本方法与人工拆分相比耗时更少。同时,本方法的拆分粒度可以细化到方法级别,且能够给出包含数据表和SQL语句的完整的微服务拆分方案。另外,本方法自动化程度高,所需输入数据形式简单、易于获得。
Claims (5)
1.一种场景驱动的单体***微服务拆分方法,其特征在于,首先通过监控典型应用场景测试用例的执行,动态分析获取单体***运行时的方法调用和数据库操作信息,生成***的数据访问轨迹图;然后根据数据访问轨迹图对底层的数据表图进行加权和聚合,基于数据表之间的关联分析生成数据库拆分方案;再在数据访问轨迹图上自底向上进行搜索,产生相应的代码模块拆分方案;具体步骤如下:
(1)准备测试用例:准备一组覆盖了***主要业务流程和功能的用户使用场景级别的测试用例;一个用例对应于一个用户场景,一个场景包含若干个界面输入或点击操作;每个测试用例对应一个用例权重,权重大小根据对应场景的重要度进行设置;
(2)构建数据访问轨迹图:根据原单体***的运行时数据构建数据访问轨迹图;
(3)生成微服务拆分方案:根据数据访问轨迹图,结合微服务化拆分有关的多个考量维度,生成一张无向加权的数据表图,然后通过对数据表进行聚类划分,得到数据表的划分方案,最后在数据访问轨迹图中自底向上进行搜索,获取与数据表拆分结果相符合的代码拆分方案;
(4)反馈调整:用户反馈迭代式地对结果做出微调,从而起到间接优化权重矩阵的作用,令最终的拆分方案更符合实际需求。
2.根据权利要求1所述的单体***微服务拆分方法,其特征在于,步骤(2)所述构建数据访问轨迹图的具体流程为:
1)在单体***中配置监控工具,顺序执行测试用例,每次执行测试用例时输入对应的场景名与权重;
2)获取***运行测试用例期间的方法调用和数据访问日志,并将其与用户场景相关联,即每条监控日志都记录了其对应的场景名、场景标识和场景权重;日志共有三种不同的类型,分别用于记录方法调用时的方法签名、执行数据库访问时的SQL语句和数据操作时对应的数据表;
3)根据监控日志构建数据访问轨迹图,图中每个场景关联若干请求,每个请求对应一条方法调用链;一条方法调用链是若干方法的执行序列,其中有些方法关联SQL 节点,这说明该方法执行过程中调用了这些SQL 语句;而SQL 节点关联若干个数据表节点,代表这条SQL 语句在实际执行过程中访问了这些数据表中的数据。
3.根据权利要求2所述的单体***微服务拆分方法,其特征在于,步骤(3)所述生成微服务拆分方案的具体流程为:
1)根据数据访问轨迹图,加权累加任意两个数据表出现在同一条SQL语句、同一条方法调用链或同一个用户场景下的场景权重,得到数据表之间的关联度矩阵;两数据表之间的关联权重越大,越倾向于将它们划分到同一个微服务中;
2)计算每个数据表分别在所有场景、方法调用链和SQL语句中出现的比例,将这三个比例加权累加得到数据表的数据共享度;按照0.08到0.3的比例提取共享度高的数据表,再分别从SQL、调用链和场景三个级别计算提取出的共享表之间的数据依赖度,将彼此间数据依赖度满足共享群组提取条件的共享表划分到同一个共享群组;以此得到若干个共享群组,这些群组倾向于单独提取出来作为一个微服务;
3)对数据表关联度矩阵做出调整,对于连接同一个共享群组中两张表的边,保持比较大的权重,增加它们被划分到同一个微服务的概率;削减与该表相连的其它边的权重,降低该边相连的两张表被划分到同一个微服务的概率;
4)对数据表关联度矩阵进行聚类划分,同时结合拆分开销,选择最优的数据库拆分方案;
5)对于每个服务中的数据表,在数据访问轨迹图中顺着调用关系自底向上搜索访问这些数据表的SQL 语句、方法和类节点,得到和数据库拆分对应的代码拆分方案;最终的拆分方案包含每个微服务所含的数据表、SQL语句、方法和类,并标识出需要进行拆分的SQL语句、方法和类;
所述数据表之间的关联度,是指两数据表在场景/方法调用链/SQL层次的数据关联度分别为同时操作了这两张表的场景/方法调用链/SQL语句的累加权重与操作其中任意一张表的场景/方法调用链/SQL语句的累加权重之比例;
所述数据共享度,是指单个数据表在场景/方法调用链/SQL层次的数据共享度分别为操作该表的场景/方法调用链/SQL语句数量占总场景/方法调用链/SQL语句数量的比例;
所述数据依赖度,是指表A对表B的场景/方法调用链/SQL依赖度分别为同时操作A、B两张表的场景/方法调用链/SQL语句数量占操作表A的场景/方法调用链/SQL语句数量的比例。
4.根据权利要求3所述的单体***微服务拆分方法,其特征在于,步骤(3)所述中所述共享群组提取条件为:两共享表A和B之间的数据依赖度满足以下任一条件即可被划分为同一共享群组:
条件一:表A对表B的SQL依赖度与表B对表A的SQL依赖度之和大于1.4;
条件二:表A对表B的方法调用链依赖度与表B对表A的方法调用链依赖度之和大于1.6;
条件三:表A对表B的场景依赖度与表B对表A的场景依赖度之和大于2;
条件四:表A对表B的SQL依赖度、方法调用链依赖度与表B对表A的SQL依赖度、方法调用链依赖度之和大于2.8,并且表A对表B的场景依赖度与表B对表A的场景依赖度之和大于1。
5.根据权利要求3所述的单体***微服务拆分方法,其特征在于,步骤(4)所述反馈调整;具体有以下四种反馈调整方式:
1)调整共享群组,由人工删除那些明显不适合单独提取出来的表,避免生成权重矩阵时错误地削减相应边的权重,或者手动添加或者修改共享群组;
2)调整模块度与拆分开销的比例,将拆分开销控制在用户可以接受的范围之内;
3)调整维服务数量,选择合适的拆分粒度;
4)手动调整个别数据表的归属。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010335919.1A CN111651451A (zh) | 2020-04-25 | 2020-04-25 | 一种场景驱动的单体***微服务拆分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010335919.1A CN111651451A (zh) | 2020-04-25 | 2020-04-25 | 一种场景驱动的单体***微服务拆分方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111651451A true CN111651451A (zh) | 2020-09-11 |
Family
ID=72346491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010335919.1A Pending CN111651451A (zh) | 2020-04-25 | 2020-04-25 | 一种场景驱动的单体***微服务拆分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651451A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148710A (zh) * | 2020-09-21 | 2020-12-29 | 珠海市卓轩科技有限公司 | 微服务分库方法、***和介质 |
CN112308521A (zh) * | 2020-11-02 | 2021-02-02 | 中国联合网络通信集团有限公司 | 微服务划分方法和*** |
CN112540749A (zh) * | 2020-11-16 | 2021-03-23 | 南方电网数字电网研究院有限公司 | 微服务划分方法、装置、计算机设备和可读存储介质 |
CN112925709A (zh) * | 2021-02-26 | 2021-06-08 | 西安交通大学 | 基于多源特征空间的微服务可维护性评估方法 |
CN112988122A (zh) * | 2021-03-26 | 2021-06-18 | 南京大学 | 基于功能特性与微服务关联度的单体应用分解工具及方法 |
CN113014506A (zh) * | 2021-02-10 | 2021-06-22 | 中国工商银行股份有限公司 | 一种生产运维方法、装置及*** |
CN113760778A (zh) * | 2021-11-09 | 2021-12-07 | 浙江大学滨海产业技术研究院 | 一种基于词向量模型的微服务接口划分评价方法 |
CN113961173A (zh) * | 2021-10-13 | 2022-01-21 | 天津大学 | 基于领域事件驱动的单体***微服务拆分方法 |
CN116755804A (zh) * | 2023-07-03 | 2023-09-15 | 红有软件股份有限公司 | 一种可装配的一体化大数据处理方法及*** |
CN117311801A (zh) * | 2023-11-27 | 2023-12-29 | 湖南科技大学 | 一种基于网络化结构特征的微服务拆分方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985904B1 (en) * | 2002-02-28 | 2006-01-10 | Oracle International Corporation | Systems and methods for sharing of execution plans for similar database statements |
CN107832618A (zh) * | 2017-09-20 | 2018-03-23 | 武汉虹旭信息技术有限责任公司 | 一种基于细粒度权限控制的sql注入检测***及其方法 |
CN108279892A (zh) * | 2018-02-27 | 2018-07-13 | 郑州云海信息技术有限公司 | 一种拆分大型应用服务为微服务的方法、装置及设备 |
CN108279926A (zh) * | 2018-01-10 | 2018-07-13 | 浙江网新恒天软件有限公司 | 一种单体应用微服务化的方法 |
CN109086409A (zh) * | 2018-08-02 | 2018-12-25 | 泰康保险集团股份有限公司 | 微服务数据处理方法、装置、电子设备及计算机可读介质 |
CN110909015A (zh) * | 2019-09-12 | 2020-03-24 | 华为技术有限公司 | 微服务的拆分方法、装置、设备及存储介质 |
CN110942387A (zh) * | 2018-09-25 | 2020-03-31 | 上海宝信软件股份有限公司 | 基于微服务的电票业务功能构建方法和*** |
-
2020
- 2020-04-25 CN CN202010335919.1A patent/CN111651451A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985904B1 (en) * | 2002-02-28 | 2006-01-10 | Oracle International Corporation | Systems and methods for sharing of execution plans for similar database statements |
CN107832618A (zh) * | 2017-09-20 | 2018-03-23 | 武汉虹旭信息技术有限责任公司 | 一种基于细粒度权限控制的sql注入检测***及其方法 |
CN108279926A (zh) * | 2018-01-10 | 2018-07-13 | 浙江网新恒天软件有限公司 | 一种单体应用微服务化的方法 |
CN108279892A (zh) * | 2018-02-27 | 2018-07-13 | 郑州云海信息技术有限公司 | 一种拆分大型应用服务为微服务的方法、装置及设备 |
CN109086409A (zh) * | 2018-08-02 | 2018-12-25 | 泰康保险集团股份有限公司 | 微服务数据处理方法、装置、电子设备及计算机可读介质 |
CN110942387A (zh) * | 2018-09-25 | 2020-03-31 | 上海宝信软件股份有限公司 | 基于微服务的电票业务功能构建方法和*** |
CN110909015A (zh) * | 2019-09-12 | 2020-03-24 | 华为技术有限公司 | 微服务的拆分方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
丁丹,彭鑫,郭晓峰,张健,吴毅坚: "场景驱动、自底向上的单体***微服务拆分方法", 《软件学报》, vol. 31, no. 11, 21 April 2020 (2020-04-21), pages 2 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148710A (zh) * | 2020-09-21 | 2020-12-29 | 珠海市卓轩科技有限公司 | 微服务分库方法、***和介质 |
CN112148710B (zh) * | 2020-09-21 | 2023-11-14 | 珠海市卓轩科技有限公司 | 微服务分库方法、***和介质 |
CN112308521A (zh) * | 2020-11-02 | 2021-02-02 | 中国联合网络通信集团有限公司 | 微服务划分方法和*** |
CN112308521B (zh) * | 2020-11-02 | 2023-09-05 | 中国联合网络通信集团有限公司 | 微服务划分方法和*** |
CN112540749A (zh) * | 2020-11-16 | 2021-03-23 | 南方电网数字电网研究院有限公司 | 微服务划分方法、装置、计算机设备和可读存储介质 |
CN112540749B (zh) * | 2020-11-16 | 2023-10-24 | 南方电网数字平台科技(广东)有限公司 | 微服务划分方法、装置、计算机设备和可读存储介质 |
CN113014506A (zh) * | 2021-02-10 | 2021-06-22 | 中国工商银行股份有限公司 | 一种生产运维方法、装置及*** |
CN113014506B (zh) * | 2021-02-10 | 2023-04-07 | 中国工商银行股份有限公司 | 一种生产运维方法、装置及*** |
CN112925709A (zh) * | 2021-02-26 | 2021-06-08 | 西安交通大学 | 基于多源特征空间的微服务可维护性评估方法 |
CN112988122B (zh) * | 2021-03-26 | 2023-07-18 | 南京大学 | 基于功能特性与微服务关联度的单体应用分解工具及方法 |
CN112988122A (zh) * | 2021-03-26 | 2021-06-18 | 南京大学 | 基于功能特性与微服务关联度的单体应用分解工具及方法 |
CN113961173A (zh) * | 2021-10-13 | 2022-01-21 | 天津大学 | 基于领域事件驱动的单体***微服务拆分方法 |
CN113961173B (zh) * | 2021-10-13 | 2024-04-30 | 天津大学 | 基于领域事件驱动的单体***微服务拆分方法 |
CN113760778B (zh) * | 2021-11-09 | 2022-02-08 | 浙江大学滨海产业技术研究院 | 一种基于词向量模型的微服务接口划分评价方法 |
CN113760778A (zh) * | 2021-11-09 | 2021-12-07 | 浙江大学滨海产业技术研究院 | 一种基于词向量模型的微服务接口划分评价方法 |
CN116755804A (zh) * | 2023-07-03 | 2023-09-15 | 红有软件股份有限公司 | 一种可装配的一体化大数据处理方法及*** |
CN116755804B (zh) * | 2023-07-03 | 2024-04-26 | 红有软件股份有限公司 | 一种可装配的一体化大数据处理方法及*** |
CN117311801A (zh) * | 2023-11-27 | 2023-12-29 | 湖南科技大学 | 一种基于网络化结构特征的微服务拆分方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651451A (zh) | 一种场景驱动的单体***微服务拆分方法 | |
US6738782B2 (en) | Method and mechanism for extending native optimization in a database system | |
CA2562281C (en) | Partial query caching | |
US6801903B2 (en) | Collecting statistics in a database system | |
JP5298117B2 (ja) | 分散コンピューティングにおけるデータマージング | |
US11874839B2 (en) | Adaptive big data service | |
US11386086B2 (en) | Permutation-based machine learning for database query optimization | |
US9229971B2 (en) | Matching data based on numeric difference | |
US9129010B2 (en) | System and method of partitioned lexicographic search | |
US20130166552A1 (en) | Systems and methods for merging source records in accordance with survivorship rules | |
US6691122B1 (en) | Methods, systems, and computer program products for compiling information into information categories using an expert system | |
CN106897322A (zh) | 一种数据库和文件***的访问方法和装置 | |
EP3416065A1 (en) | Query method and query device | |
US20200012649A1 (en) | System and method for adaptive information storage management | |
CN116975116A (zh) | 一种大数据分析***的数据条件筛选方法 | |
CN116860781A (zh) | 数据校验方法、装置、终端设备以及存储介质 | |
WO2023175413A1 (en) | Mutual exclusion data class analysis in data governance | |
CN106156057A (zh) | 一种查询视频数据结果的方法和设备 | |
US7577649B2 (en) | Engine for validating proposed changes to an electronic entity | |
US20120259847A1 (en) | Collaborative Data Appliance | |
KR102599008B1 (ko) | 멀티-쿼리 스케줄러를 기반으로 멀티-쿼리를 처리하는 방법 및 이러한 방법을 제공하는 데이터 처리 시스템 | |
KR102605932B1 (ko) | 워크 스페이스 기반으로 비정형 데이터 및 정형 데이터에 대한 데이터 처리 서비스를 제공하는 방법 및 이러한 방법을 수행하는 서버 | |
KR102605933B1 (ko) | 인스턴스 특성을 고려하여 서버 상의 워크 스페이스를 할당하는 방법 및 이러한 방법을 수행하는 장치 | |
Getta | Event Based Forecasting of Database Workloads | |
CN118193174B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200911 |