一种基于微服务的企业应用系统整合装置及其方法

文档序号:32440191发布日期:2022-12-06 21:15阅读:38来源:国知局
一种基于微服务的企业应用系统整合装置及其方法

1.本发明属于计算机技术领域,涉及一种基于微服务的企业应用系统整合装置及其方法。


背景技术:

2.很多中小型企业初期建立的一系列的管理系统(例如财务管理系统、oa系统等等)可能是独立开发的,导致这些系统自成体系,容易形成信息孤岛,难以实现信息资源共享,资源浪费严重。后期随着企业发展,将这些系统信息进行共享整合显的尤为必要,由于这些系统相对独立,导致整合过程中信息孤岛的弊端逐渐显现,导致整合困难,并且工作量庞大。而在整合过程中以下两个方面是要解决的难点:
3.一是用户信息的整合,因为系统独立开发,于是每个系统都有其单独的用户信息,而整合过程的首要任务就是将所有系统的用户信息筛选合并,而常规用户数据整合可能需要对系统原先用户表结构进行改变,若旧系统中业务逻辑与用户数据存在强耦合关系,会使整合过程变得极其复杂和困难,同时工作量也会变大。
4.二是系统架构问题,由于开发平台和基于硬件体系的不同,存在不同类型的系统体系结构,显然要在已有系统架构的基础上开发出兼容性更强、维护更方便、且健壮的系统架构是及其困难的。
5.术语解释:
6.单体应用:传统意义的、单个应用程序的应用,整个应用是在一个web项目中,是一个工程,运行在一个jvm(java虚拟机)中。
7.微服务:微服务架构就是将传统的单体应用,按照业务或公司的自己的规定,拆分成多个服务。每一个服务都是完整的应用,可独立运维部署,也都有自己的业务逻辑。


技术实现要素:

8.本发明的第一个目的是为了克服上述在整合系统过程中遇到的关键问题,提供一种基于微服务的企业应用系统整合装置,其一是提供用户数据仓库,以实现在旧系统用户数据的整合的同时不改变原系统的用户数据结构,很好的避免了旧系统中若业务逻辑与用户数据存在强耦合关系,这种强耦合会使用户数据整合过程变得极其复杂和困难的问题。其二在需要整合的系统中通过系统整合代码轻侵入方式,改变旧系统架构,可实现将旧系统从单体应用到微服务架构中服务概念的转变,使整合后的系统在微服务的架构下运行。结合二者,相比于在单体架构的基础上进行系统整合,在增加业务功能时,单一应用架构需要在原先架构的代码基础上做比较大的调整,而微服务架构只需要增加新的微服务节点,并调整与之有关联的微服务节点即可。在增加业务响应能力时,单一架构需要进行整体扩容,而微服务架构仅需要扩容响应能力不足的微服务节点。
9.一种基于微服务的企业应用系统整合装置包括:
10.数据仓库,作为api网关的基础上,包括信息获取单元、用户关联模型单元;
11.信息获取单元,用于抽取待整合旧系统各用户的身份关键信息,并按照预设规则整合,得到用户基本表;所述每一个用户的身份关键信息包括用户id、用户名、手机号、邮箱、登录密码;若不存在某身份关键信息,则将用户基本表中该信息设置为空。
12.用户关联模型单元,用于对用户基本表中所有用户身份关键信息进行优先级降序排列,用户基本表中各身份关键信息si进行优先级降序排列,1≤i≤i,i表示一个用户的身份关键信息个数,根据优先级依次根据身份关键信息进行如下操作:
13.c)若用户基本表中是否存在两个用户账户的身份关键信息si相同时则认为是同一用户,若不存在则进行步骤b);
14.d)判断当前身份关键信息si是否为最后一个优先级身份关键信息,若是则认为两个用户账户不是同一用户,若不是则将si更新为下一个优先级身份关键信息,即i=i+1,重复步骤a)。
15.用户校验单元,用于校验输入用户是否为当前微服务的原用户。
16.统一登录单元,用于根据用户校验单元传送的用户认证信息进行微服务登录。
17.配置文件单元,用于对待整合传统单体应用新增配置文件,将待整合传统单体应用转成微服务a,包括数据仓库地址,消息总线地址及服务交互地址,以实现使传统单体应用兼具微服务相关组件的功能。
18.本发明的第二个目的是是提供一种基于微服务的企业应用系统整合方法,包括如下:
19.s1:利用配置文件单元对待整合传统单体应用新增配置文件,将待整合传统单体应用转成微服务a;其中所述配置文件包括数据仓库地址,消息总线地址及服务交互地址;
20.s2:待整合传统单体应用根据数据仓库地址调用数据仓库;
21.s3:用户校验单元根据输入用户n的用户认证信息调用数据仓库;判断数据仓库中用户基本表内是否有匹配当前用户n在微服务a的用户身份关键信息,若有匹配则认为当前用户为微服务a中原用户,则查找与微服务名称一致的用户认证信息相匹配的用户身份关键信息,若没有匹配则认为当前用户n不是微服务a中原用户,则在用户基本表查找当前用户n是否存在其他微服务b,若当前用户n存在其他微服务b则获取当前用户n在微服务b中的所有用户身份关键信息根据在用户关联模型中查找当前用户n在微服务a中的关联用户m;若当前用户n不存在其他微服务b则提醒当前用户进行微服务a新用户注册,同时信息获取单元将新注册信息补充至用户基本表;所述用户认证信息包括用户名、登录密码;
22.s4:统一登录单元将用户校验单元传送的用户认证信息进行微服务a登录。
23.作为优选,微服务a以关联用户m登录成功时,数据仓库中redis缓存记录用户n与关联用户m的关联信息。
24.本发明的第三个目的是一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。
25.本发明的第四个目的是一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的方法。
26.本发明的有益效果如下:
27.通过本发明可以在整合系统过程中,在无需对原系统的用户数据表进行重构或更改的前提下,实现了关联多系统间用户账号的功能,并简化了单用户多账号的整合过程,大
大降低了用户信息整合的工作量,同时整合后的系统在微服务的架构下有益于对各个子系统的管理和监控。整个过程可在低代码的情况下快速完成整合,降低整合难度。
附图说明
28.图1是本发明整合系统的框架示意图;
29.图2是本发明系统整合简要流程图;
30.图3是本发明系统整合具体流程图;
31.图4是本发明所建立的用户信息映射规则;
32.图5是本发明所建立的关联模型流程图;
33.图6是本发明所建立的登录流程。
具体实施方式
34.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.本发明实施例公开的一种基于微服务的小型企业应用系统整合装置,包括数据仓库、企业应用系统整合框架,所述企业应用系统整合框架包括用户校验单元、统一登录单元、配置文件单元。
36.其架构参考微服务架构的模式,整合后的系统架构参见图1,即数据仓库作为整个集成后系统的统一访问入口,打通了各个系统的用户数据,拓展了其作为api网关的功能(如用户统一登录),同时将旧系统通过企业应用系统整合框架的轻侵入式接入使其成为微服务。
37.如图2所示,本发明一种基于微服务的小型企业应用系统整合方法流程示意图,该方法的主要步骤为:首先配置数据仓库,之后在旧系统(即单体应用)中接入企业系统应用整合框架,启动数据仓库,最后启动所有微服务。
38.具体步骤如图3所示,包括以下:
39.1.数据仓库配置
40.信息获取单元,用于抽取待整合旧系统各用户的身份关键信息,并按照预设规则整合,配置用户信息的基本表(以下统称基本表),包括用户名、密码、手机号、邮箱、密码加密方式、原系统用户编号、服务名称;若不存在某身份关键信息,则将用户基本表中该信息设置为空。其中用户名和密码作为统一登录的认证信息,手机号和邮箱作为数据仓库中用户关联模型单元所需的字段,加密方式、原系统用户编号以及服务名称作为数据仓库映射原先系统用户数据的映射字段,该用户身份信息基本表即为抽取旧系统用户身份信息的预设规则。
41.为拓展用户身份关键信息,可用于自定义数据仓库用户关联模型单元。用户关联模型单元,用于对用户基本表中所有用户身份关键信息进行优先级降序排列,用户基本表中各身份关键信息si进行优先级降序排列,1≤i≤i,i表示一个用户的身份关键信息个数,根据优先级依次根据身份关键信息进行如下操作:
42.a)若用户基本表中是否存在两个用户账户的身份关键信息si相同时则认为是同一用户,若不存在则进行步骤b);
43.b)判断当前身份关键信息si是否为最后一个优先级身份关键信息,若是则认为两个用户账户不是同一用户,若不是则将si更新为下一个优先级身份关键信息,即i=i+1,重复步骤a)。
44.例如旧系统用户信息存在身份证号码,则身份证号码可作为个人身份表示,且作为身份标识其优先级大于手机号,此时拓展数据仓库基本表,新增身份证号码字段,并为用户关联模型单元添加以身份证号码为关联条件,相应的抽取预设规则也随之改变。
45.2.企业应用系统整合框架接入
46.该框架作为所述装置的一部分,是对spring cloud微服务框架的二次封装,包含了服务注册、负载均衡、熔断器、数据监控等,以下为接入步骤:
47.a)配置文件单元修改各微服务相关配置文件,包括数据仓库地址,消息总线地址及服务交互的地址。其目的是使旧系统兼具微服务相关组件的功能。
48.配置文件单元对各微服务配置消息总线和服务交互的参数,采用restfulapi或消息机制等通信机制,若各微服务间通信若存在用户需求数据,则须知道当前登录用户所调用目标微服务中对应的账户信息,此时需配置统一的通信参数,其参数为当前登录的账户信息,以实现当前登录用户所在微服务与目标微服务间通信,即数据仓库中会对每一次微服务调用进行拦截,若存在账户信息的参数,则会先从redis缓存中查找该账户登录时的相关信息,这样一来可以大大提高同一个用户执行多次服务之间调用的效率,同时可更全面的实现服务之间统一用户不同账号下的数据相通。
49.b)配置基于数据仓库预设规则的用户关联模型,用于提取各个旧系统中的用户身份关键信息,由于不同系统的用户数据表设计不同(例如系统a通过用户名登录,系统b通过手机号作为登录时的用户名登录),框架根据数据仓库所制定的映射规则,抽取其相关内容,提取方式如图4所示。若旧系统原先设计中不存在手机号或邮箱字段,则置为空。在本实施例中,系统a通过用户名进行登录,且原先表结构不存在邮箱字段,系统b通过邮箱作为用户名登录,通过映射规则后对应数据仓库中保存的形式如图4中数据仓库所示,即数据仓库中保存的用户名可以是多种形式(用户名、邮箱、手机号、身份证号等等)。
50.c)配置用户身份关键信息的信息获取单元,由于数据仓库作为微服务的服务注册中心,其功能不仅仅是整合用户数据用作统一登录,更是作为整个系统集成完毕之后的服务调度中心,所以具有微服务架构下的相关功能,在本实施案例中,数据仓库提供以restfulapi以供调用,其中就包含了接收迁移用户数据的api,即旧系统在接入框架时需调用迁移用户数据的api并将数据以json格式传递至数据仓库。数据仓库在提取到旧系统中的用户数据信息之后通过用户关联模型单元生成相对应的关联表(以下统称关联表),以实现集成系统中的用户数据互通。在本实施例中,用户关联模型运行流程如图5所示,该关联模型是将手机号和邮箱作为用户的身份标识进行关联,若存在同一用户在不同系统下的两个账户使用了不同的手机号和邮箱,虽然这是同一个人使用,但数据仓库还是会将其认为是两个用户的账户。由于基本表中编号1和编号3的手机号相同,则认为其是同一人。在步骤a中提到可新增数据仓库的用户认证字段,例如新增身份证号码,则用户身份关联模型单元支持将身份证号码匹配步骤加入的流程中,而匹配顺序则由重要性占比(为每个匹配步骤
设置一个重要性的权重大小,用阿拉伯数字来表示)决定,可自行设置(从小到大,数字越小,权重越大,匹配顺序越先),当前实施例中重要性最高的是手机号,其次是邮箱,最后是用户名(由于部分系统使用手机号或者邮箱作为用户名登录字段,所以应将用户名作为最低优先级匹配)。
51.d)配置用户校验单元和统一登录单元,以降低框架的侵入性,目的为将旧系统原先的登录登出入口重定向至数据仓库中,用于以下所述的自动关联注册,数据仓库作为统一登录功能的提供者,同样提供了登录登出入口,以api形式供框架接入者调用。使用框架提供的登录功能流程如图6所示,依据图6的登录流程,可实现用户数据互通,例用户a使用系统b的账户登录系统c,但前提是用户a在系统b和c下都注册了账号,若数据仓库未找到a用户注册的系统b账号与之关联的系统c账号,则登录失败,没有该用户。但可进行自动关联注册,数据仓库会将系统b账号信息复制到数据仓库基本表中,并将其服务名指向系统c,并建立a用户在系统b与系统c之间的账户关联(此步骤操作可认为a用户在系统b和系统c中使用的同一账户),而此种情况也属于登录成功,数据仓库会将系统b的账户信息传回,之后框架的登录模块会将登录返回重定向到旧系统的注册模块,注册成功之后旧系统会生成用户编号以作为数据仓库中a用户在系统c下的账户的旧系统编号字段。作为可选的,数据仓库将redis缓存的用户登录及其关联信息删除。
52.e)启动数据仓库,将正常启动数据仓库,相关功能将正常运行。各个子系统接入的框架功能都需配合数据仓库才能正常运行。
53.f)启动子服务,集成后的系统将正常运转。
54.通过以上方案关键步骤的详细描述可以拆分原系统用户的身份认证信息和其他相关信息,将身份认证信息统一管理以便用户数据互通,同时原系统无需重构其用户数据表甚至无需做修改,大大降低了开发者在进行集成过程的工作量,同时整个系统在微服务的架构下更易于信息交互、管理和部署。
55.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1