CN107783787A - 一种软件系统拆分方法及终端设备 - Google Patents

一种软件系统拆分方法及终端设备 Download PDF

Info

Publication number
CN107783787A
CN107783787A CN201710975986.8A CN201710975986A CN107783787A CN 107783787 A CN107783787 A CN 107783787A CN 201710975986 A CN201710975986 A CN 201710975986A CN 107783787 A CN107783787 A CN 107783787A
Authority
CN
China
Prior art keywords
software systems
destination software
destination
functional module
user
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
Application number
CN201710975986.8A
Other languages
English (en)
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 Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co 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 Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201710975986.8A priority Critical patent/CN107783787A/zh
Priority to PCT/CN2018/077047 priority patent/WO2019075977A1/zh
Publication of CN107783787A publication Critical patent/CN107783787A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明属于计算机领域,尤其涉及一种软件系统拆分方法及终端设备。本发明实施例首先根据各个目标软件系统所要实现的功能分别确定各个目标软件系统需要从原始软件系统中获取的功能模块,然后从所述目标软件系统中提取出各个所述功能模块,将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中,最后建立起目标软件系统与数据库之间的连接,所述目标软件系统即可运行,从而实现了对原始软件系统的拆分,而且由于采用了模块化的拆分方式,直接复用了原始软件系统中的功能模块,大大减少了工作量,提高了软件系统的拆分效率。

Description

一种软件系统拆分方法及终端设备
技术领域
本发明属于计算机领域,尤其涉及一种软件系统拆分方法及终端设备。
背景技术
在将一个完整的软件系统拆分为多个互相独立的子系统时,一般需要重新对各个子系统进行代码编写,在编写的过程中,虽然可以复用原始的一些代码,但仍需要投入大量人力成本,耗时耗力。
发明内容
有鉴于此,本发明实施例提供了一种软件系统拆分方法及终端设备,以解决进行软件系统拆分时需要投入大量人力成本,耗时耗力的问题。
本发明实施例的第一方面提供了一种软件系统拆分方法,可以包括:
确定待拆分的原始软件系统和拆分后的各个目标软件系统,所述原始软件系统为模块化的软件系统,包括两个以上的实现预设功能的功能模块;
根据各个所述目标软件系统所要实现的功能分别确定各个所述目标软件系统需要从所述原始软件系统中获取的功能模块;
从所述原始软件系统中提取出各个所述功能模块;
将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中;
分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接,以实现各个所述目标软件系统的正常运行。
本发明实施例的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
确定待拆分的原始软件系统和拆分后的各个目标软件系统,所述原始软件系统为模块化的软件系统,包括两个以上的实现预设功能的功能模块;
根据各个所述目标软件系统所要实现的功能分别确定各个所述目标软件系统需要从所述原始软件系统中获取的功能模块;
从所述原始软件系统中提取出各个所述功能模块;
将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中;
分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接,以实现各个所述目标软件系统的正常运行。
本发明实施例的第三方面提供了一种软件系统拆分终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
确定待拆分的原始软件系统和拆分后的各个目标软件系统,所述原始软件系统为模块化的软件系统,包括两个以上的实现预设功能的功能模块;
根据各个所述目标软件系统所要实现的功能分别确定各个所述目标软件系统需要从所述原始软件系统中获取的功能模块;
从所述原始软件系统中提取出各个所述功能模块;
将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中;
分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接,以实现各个所述目标软件系统的正常运行。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例首先根据各个目标软件系统所要实现的功能分别确定各个目标软件系统需要从原始软件系统中获取的功能模块,然后从所述目标软件系统中提取出各个所述功能模块,将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中目标软件系统目标软件系统,最后建立起目标软件系统与数据库之间的连接,所述目标软件系统即可运行,从而实现了对原始软件系统的拆分,而且由于采用了模块化的拆分方式,直接复用了原始软件系统中的功能模块,大大减少了工作量,提高了软件系统的拆分效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中一种软件系统拆分方法的一个实施例流程图;
图2为本发明实施例中一种软件系统拆分方法对数据库进行拆分的示意流程图;
图3为本发明实施例中一种软件系统拆分方法对用户权限进行拆分的示意流程图;
图4为本发明实施例中一种软件系统拆分方法对用户界面进行拆分的示意流程图;
图5为本发明实施例提供的软件系统拆分终端设备的示意框图;
图6为本发明实施例提供的软件系统拆分程序的功能模块图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种软件系统拆分方法的一个实施例可以包括:
步骤S101、确定待拆分的原始软件系统和拆分后的各个目标软件系统。
所述原始软件系统为模块化的软件系统,包括两个以上的实现预设功能的功能模块,不同的功能模块所实现的功能是相互独立的,不存在依赖关系,例如功能模块1可以用来实现办理保险业务的功能,功能模块2可以用来实现办理理财业务的功能,功能模块3可以用来实现网络购物的功能,功能模块4可以用来实现网络社交的功能等等。
当所述原始软件系统包括了过多的功能模块时,一般会变得非常巨大,占用掉用户终端的大量资源,因此,往往需要将其进行拆分,得到若干个轻量化的软件系统,也即所述目标软件系统。
所述目标软件系统仍为模块化的软件系统,包括一个以上的功能模块。
步骤S102、根据各个所述目标软件系统所要实现的功能分别确定各个所述目标软件系统需要从所述原始软件系统中获取的功能模块。
对于一个目标软件系统而言,其所实现的功能只是原始软件系统功能的一部分,而这些功能的实现也只需要原始软件系统中的一部分功能模块即可完成,这一部分的功能模块即为该目标软件系统需要从原始软件系统中获取的功能模块。
一个目标软件系统可以实现一个单一的功能,也可以实现多个功能,可以根据实际情况进行设置。例如,在情形1中,原始软件系统可以拆分为4个目标软件系统,其中,目标软件系统1实现办理保险业务的功能,目标软件系统2实现办理理财业务的功能,目标软件系统3实现网络购物的功能,目标软件系统4实现网络社交的功能,那么则可确定出目标软件系统1需要从原始软件系统中获取功能模块1,目标软件系统2需要从原始软件系统中获取功能模块2,目标软件系统3需要从原始软件系统中获取功能模块3,目标软件系统4需要从原始软件系统中获取功能模块4。在情形2中,原始软件系统可以拆分为2个目标软件系统,其中,目标软件系统1实现办理保险业务和办理理财业务的功能,目标软件系统2实现网络购物和网络社交的功能,那么则可确定出目标软件系统1需要从原始软件系统中获取功能模块1和功能模块2,目标软件系统2需要从原始软件系统中获取功能模块3和功能模块4。
步骤S103、从所述原始软件系统中提取出各个所述功能模块。
也即将原始软件系统按照功能模块进行拆分,得到组成该原始软件系统的各个功能模块。例如,可以从原始软件系统中提取出功能模块1、功能模块2、功能模块3、功能模块4等等。
优选地,在对原始软件系统进行拆分之前,需要对其进行备份,以保证在拆分失败时可以回退到初始状态。
步骤S104、将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中。
例如,按照步骤S102中情形2的例子,则可将功能模块1和功能模块2添加至目标软件系统1中,将功能模块3和功能模块4添加至目标软件系统2中。
在上述添加完成后,目标软件系统已经成型,但其仍只是单纯的软件代码,要使其正常运行,还需要数据库的支持。
步骤S105、分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接,以实现各个所述目标软件系统的正常运行。
为了保持数据的连贯性,此处对原始数据库不做任何修改,直接建立起目标软件系统与原始数据库之间的连接,在原始数据库的支持下,可以实现目标软件系统的正常运行。
优选地,在步骤S105之后,仍会继续保持原始软件系统与原始数据库之间的连接,以备在目标软件系统出现异常时,可以及时回退到初始状态。当目标软件系统在足够长的时间内均运行正常时,则可断开原始软件系统与原始数据库之间的连接。
通过以上步骤,实现了在应用层面上对原始软件系统的拆分,但各个目标软件系统仍然共用着相同的数据库,还可以进一步地进行数据库层面的拆分。
优选地,如图2所示,在步骤S105之后,所述软件系统拆分方法还可以包括:
步骤S201、分别创建与所述目标软件系统一一对应的目标数据库。
即为每个目标软件系统创建一个独立的目标数据库,不同的目标数据库之间不存在数据的交互。
步骤S202、根据所述目标软件系统所需的功能模块分别确定与所述目标软件系统对应的目标数据库需要从所述原始数据库中获取的目标数据。
在本实施例中,为了便于管理,将原始数据库划分为了若干个数据分区,一个功能模块所需的数据可以存储在一个以上的数据分区中,但一个数据分区只存储同一功能模块所需的数据,多个功能模块所需的数据不可出现在同一数据分区中。例如,所述原始数据库可以分为10个数据分区,其中数据分区1至数据分区3存储功能模块1所需的数据,数据分区4至数据分区5存储功能模块2所需的数据,数据分区6至数据分区7存储功能模块3所需的数据,数据分区8至数据分区10存储功能模块4所需的数据,那么若采取上述情形2中的划分方式,与目标软件系统1对应的目标数据库1需要从原始数据库中获取数据分区1至数据分区5中的数据,与目标软件系统2对应的目标数据库2需要从原始数据库中获取数据分区6至数据分区10中的数据。
步骤S203、将所述目标数据分别复制到与所述目标软件系统对应的目标数据库中。
在本实施例中,对所述目标数据的复制以数据分区为单位来进行,在复制的过程中,保持数据分区内各条数据之间的相对地址不变。
由于目标数据在原始数据库中的绝对地址与在目标数据库中的绝对地址是不同的,因此需要建立起两者之间的地址转换映射关系,在本实施例中,由于数据分区内各条数据之间的相对地址保持不变,可以对这一映射关系进行简化,只需建立起每个分区数据在原始数据库中的起始绝对地址与在目标数据库中的起始绝对地址之间的地址转换映射关系即可。例如,某数据分区在原始数据库中的起始绝对地址为A,其中的某条数据与起始绝对地址的偏移量为B,那么该条数据在原始数据库中的绝对地址即为A+B,当该数据分区被复制到目标数据库中后,其起始绝对地址变为了C,但该条数据与起始绝对地址的偏移量仍为B,那么该条数据在目标数据库中的绝对地址即为C+B。
步骤S204、分别建立具有一一对应关系的所述目标软件系统与所述目标数据库之间的连接。
在建立起目标软件系统和目标数据库之间的连接后,目标软件系统在运行过程中对数据执行的增加、修改、删除等操作将不再在各个目标软件系统共同使用的原始数据库中进行,而是在与目标软件系统一一对应的目标数据库中独立进行。
优选地,在步骤S204之后,仍会继续保持目标软件系统与原始数据库之间的连接。在所述目标软件系统的运行过程中,若出现因数据缺失或数据错误而导致的系统异常,则删除与所述目标软件系统对应的目标数据库中的数据,重新将所述原始数据库中与所述目标数据库对应的目标数据复制到所述目标数据库中,以消除复制过程中出现的异常数据对目标软件系统的影响。若所述目标软件系统在预设的时间段内运行正常,则可断开所述目标软件系统与所述原始数据库之间的连接,从而完全摆脱了对原始数据库的依赖。
优选地,所述软件系统拆分方法还可以包括如图3所示的对用户权限进行拆分的步骤:
步骤S301、获取各个用户对所述原始软件系统的用户权限;
步骤S302、将所述用户权限分解为对所述原始软件系统中的各个功能模块的用户子权限;
步骤S303、将所述用户子权限分别加载至包含与所述用户子权限对应的功能模块的目标软件系统;
步骤S304、将同一所述目标软件系统中的同一用户的用户子权限进行合并,得到各个用户对各个所述目标软件系统的用户权限。
例如,若某用户在原始软件系统中的用户权限可以分解为对功能模块1的A权限,功能模块2的B权限,功能模块3的C权限以及对功能模块4的D权限,那么若采取上述情形2中的划分方式,则需要将该用户的A权限和B权限加载到目标软件系统1中,将该用户的C权限和D权限加载到目标软件系统2中,最后将A权限和B权限进行合并,即得到该用户对目标软件系统1的用户权限,将C权限和D权限进行合并,即得到该用户对目标软件系统2的用户权限。
经过图3所示的步骤,用户在各个目标软件系统中拥有了各自独立的用户权限,用户在一个目标软件系统中的操作不会影响到另外一个目标软件系统,从用户感知的角度实现了对目标软件系统的拆分。
优选地,所述软件系统拆分方法还可以包括如图4所示的对用户界面进行拆分的步骤:
步骤S401、获取所述原始软件系统的用户界面;
步骤S402、将所述用户界面分解为与所述原始软件系统中的各个功能模块对应的界面接口;
步骤S403、将所述目标软件系统对应的各个界面接口分别进行合并,得到所述目标软件系统的用户界面。
例如,若所述原始软件系统的用户界面可以分解为与功能模块1对应的界面接口1和界面接口2、与功能模块2对应的界面接口3、与功能模块3对应的界面接口4、与功能模块4对应的界面接口5,那么若采取上述情形2中的划分方式,则需要将界面接口1、界面接口2和界面接口3合并得到目标软件系统1的用户界面,将界面接口4和界面接口5合并得到目标软件系统2的用户界面。
经过图4所示的步骤,各个目标软件系统拥有了各自独立的用户界面,在一个目标软件系统的界面上不再会出现另外一个目标软件系统的内容,即从应用接口上实现了对目标软件系统的拆分。
综上所述,本发明实施例首先根据各个目标软件系统所要实现的功能分别确定各个目标软件系统需要从原始软件系统中获取的功能模块,然后从所述目标软件系统中提取出各个所述功能模块,将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中,最后建立起目标软件系统与数据库之间的连接,所述目标软件系统即可运行,从而实现了对原始软件系统的拆分,而且由于采用了模块化的拆分方式,直接复用了原始软件系统中的功能模块,大大减少了工作量,提高了软件系统的拆分效率。
对应于上文实施例所述的软件系统拆分方法,图5示出了本发明实施例提供的软件系统拆分终端设备的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本实施例中,所述软件系统拆分终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该软件系统拆分终端设备可包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述软件系统拆分终端设备5的内部存储单元,例如软件系统拆分终端设备5的硬盘或内存。所述存储器51也可以是所述软件系统拆分终端设备5的外部存储设备,例如所述软件系统拆分终端设备5上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述软件系统拆分终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述软件系统拆分终端设备5所需的其它程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
请参阅图6,是本发明实施例提供的计算机程序52的功能模块图。在本实施例中,所述的计算机程序52可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器51中,并由所述处理器50所执行,以完成本发明。例如,在图6中,所述的计算机程序52,也即软件系统拆分程序可以被分割成软件系统确定模块601、功能模块确定模块602、功能模块提取模块603、功能模块添加模块604、原始数据库连接模块605。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述计算机程序52在所述软件系统拆分终端设备中的执行过程。以下描述将具体介绍所述模块601-605的功能。
软件系统确定模块601,用于确定待拆分的原始软件系统和拆分后的各个目标软件系统,所述原始软件系统为模块化的软件系统,包括两个以上的实现预设功能的功能模块;
功能模块确定模块602,用于根据各个所述目标软件系统所要实现的功能分别确定各个所述目标软件系统需要从所述原始软件系统中获取的功能模块;
功能模块提取模块603,用于从所述原始软件系统中提取出各个所述功能模块;
功能模块添加模块604,用于将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中;
原始数据库连接模块605,用于分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接,以实现各个所述目标软件系统的正常运行。
进一步地,所述计算机程序52中还可以包括:
目标数据库创建模块,用于分别创建与所述目标软件系统一一对应的目标数据库;
目标数据确定模块,用于根据所述目标软件系统所需的功能模块分别确定与所述目标软件系统对应的目标数据库需要从所述原始数据库中获取的目标数据;
第一目标数据复制模块,用于将所述目标数据分别复制到与所述目标软件系统对应的目标数据库中;
目标数据库连接模块,用于分别建立具有一一对应关系的所述目标软件系统与所述目标数据库之间的连接。
进一步地,所述计算机程序52中还可以包括:
数据删除模块,用于在所述目标软件系统的运行过程中,若出现因数据缺失或数据错误而导致的系统异常,则删除与所述目标软件系统对应的目标数据库中的数据;
第二目标数据复制模块,用于重新将所述原始数据库中与所述目标数据库对应的目标数据复制到所述目标数据库中;
数据库断开模块,用于若所述目标软件系统在预设的时间段内运行正常,则断开所述目标软件系统与所述原始数据库之间的连接。
进一步地,所述计算机程序52中还可以包括:
权限获取模块,用于获取各个用户对所述原始软件系统的用户权限;
权限分解模块,用于将所述用户权限分解为对所述原始软件系统中的各个功能模块的用户子权限;
权限加载模块,用于将所述用户子权限分别加载至包含与所述用户子权限对应的功能模块的目标软件系统;
权限合并模块,用于将同一所述目标软件系统中的同一用户的用户子权限进行合并,得到各个用户对各个所述目标软件系统的用户权限。
进一步地,所述计算机程序52中还可以包括:
界面获取模块,用于获取所述原始软件系统的用户界面;
界面分解模块,用于将所述用户界面分解为与所述原始软件系统中的各个功能模块对应的界面接口;
界面合并模块,用于将所述目标软件系统对应的各个界面接口分别进行合并,得到所述目标软件系统的用户界面。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种软件系统拆分方法,其特征在于,包括:
确定待拆分的原始软件系统和拆分后的各个目标软件系统,所述原始软件系统为模块化的软件系统,包括两个以上的实现预设功能的功能模块;
根据各个所述目标软件系统所要实现的功能分别确定各个所述目标软件系统需要从所述原始软件系统中获取的功能模块;
从所述原始软件系统中提取出各个所述功能模块;
将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中;
分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接,以实现各个所述目标软件系统的正常运行。
2.根据权利要求1所述的软件系统拆分方法,其特征在于,在分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接之后,还包括:
分别创建与所述目标软件系统一一对应的目标数据库;
根据所述目标软件系统所需的功能模块分别确定与所述目标软件系统对应的目标数据库需要从所述原始数据库中获取的目标数据;
将所述目标数据分别复制到与所述目标软件系统对应的目标数据库中;
分别建立具有一一对应关系的所述目标软件系统与所述目标数据库之间的连接。
3.根据权利要求2所述的软件系统拆分方法,其特征在于,在分别建立具有一一对应关系的所述目标软件系统与所述目标数据库之间的连接之后,还包括:
在所述目标软件系统的运行过程中,若出现因数据缺失或数据错误而导致的系统异常,则删除与所述目标软件系统对应的目标数据库中的数据;
重新将所述原始数据库中与所述目标数据库对应的目标数据复制到所述目标数据库中;
若所述目标软件系统在预设的时间段内运行正常,则断开所述目标软件系统与所述原始数据库之间的连接。
4.根据权利要求1所述的软件系统拆分方法,其特征在于,还包括:
获取各个用户对所述原始软件系统的用户权限;
将所述用户权限分解为对所述原始软件系统中的各个功能模块的用户子权限;
将所述用户子权限分别加载至包含与所述用户子权限对应的功能模块的目标软件系统;
将同一所述目标软件系统中的同一用户的用户子权限进行合并,得到各个用户对各个所述目标软件系统的用户权限。
5.根据权利要求1至4中任一项所述的软件系统拆分方法,其特征在于,还包括:
获取所述原始软件系统的用户界面;
将所述用户界面分解为与所述原始软件系统中的各个功能模块对应的界面接口;
将所述目标软件系统对应的各个界面接口分别进行合并,得到所述目标软件系统的用户界面。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的软件系统拆分方法的步骤。
7.一种软件系统拆分终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
确定待拆分的原始软件系统和拆分后的各个目标软件系统,所述原始软件系统为模块化的软件系统,包括两个以上的实现预设功能的功能模块;
根据各个所述目标软件系统所要实现的功能分别确定各个所述目标软件系统需要从所述原始软件系统中获取的功能模块;
从所述原始软件系统中提取出各个所述功能模块;
将提取出的各个所述功能模块分别添加至需要获取所述功能模块的目标软件系统中;
分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接,以实现各个所述目标软件系统的正常运行。
8.根据权利要求7所述的软件系统拆分终端设备,其特征在于,在分别建立各个所述目标软件系统与所述原始软件系统的原始数据库之间的连接之后,还包括:
分别创建与所述目标软件系统一一对应的目标数据库;
根据所述目标软件系统所需的功能模块分别确定与所述目标软件系统对应的目标数据库需要从所述原始数据库中获取的目标数据;
将所述目标数据分别复制到与所述目标软件系统对应的目标数据库中;
分别建立具有一一对应关系的所述目标软件系统与所述目标数据库之间的连接。
9.根据权利要求7所述的软件系统拆分终端设备,其特征在于,在分别建立具有一一对应关系的所述目标软件系统与所述目标数据库之间的连接之后,还包括:
在所述目标软件系统的运行过程中,若出现因数据缺失或数据错误而导致的系统异常,则删除与所述目标软件系统对应的目标数据库中的数据;
重新将所述原始数据库中与所述目标数据库对应的目标数据复制到所述目标数据库中;
若所述目标软件系统在预设的时间段内运行正常,则断开所述目标软件系统与所述原始数据库之间的连接。
10.根据权利要求7至9中任一项所述的软件系统拆分终端设备,其特征在于,还包括:
获取各个用户对所述原始软件系统的用户权限;
将所述用户权限分解为对所述原始软件系统中的各个功能模块的用户子权限;
将所述用户子权限分别加载至包含与所述用户子权限对应的功能模块的目标软件系统;
将同一所述目标软件系统中的同一用户的用户子权限进行合并,得到各个用户对各个所述目标软件系统的用户权限。
CN201710975986.8A 2017-10-19 2017-10-19 一种软件系统拆分方法及终端设备 Pending CN107783787A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710975986.8A CN107783787A (zh) 2017-10-19 2017-10-19 一种软件系统拆分方法及终端设备
PCT/CN2018/077047 WO2019075977A1 (zh) 2017-10-19 2018-02-23 一种软件系统拆分方法、可读存储介质、终端设备及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710975986.8A CN107783787A (zh) 2017-10-19 2017-10-19 一种软件系统拆分方法及终端设备

Publications (1)

Publication Number Publication Date
CN107783787A true CN107783787A (zh) 2018-03-09

Family

ID=61434635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710975986.8A Pending CN107783787A (zh) 2017-10-19 2017-10-19 一种软件系统拆分方法及终端设备

Country Status (2)

Country Link
CN (1) CN107783787A (zh)
WO (1) WO2019075977A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190584A (zh) * 2019-12-10 2020-05-22 平安健康保险股份有限公司 Ehis-db系统版本发布方法、装置、计算机设备和存储介质
CN112486458A (zh) * 2019-09-11 2021-03-12 珠海格力电器股份有限公司 功能模块的加载方法及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1309349A (zh) * 2001-03-22 2001-08-22 北京北大天正科技发展有限公司 一种在线定制软件的方法
CN105354037A (zh) * 2015-11-30 2016-02-24 用友优普信息技术有限公司 模块化的软件开发方法及软件开发装置
CN106126204A (zh) * 2016-06-15 2016-11-16 中邮建技术有限公司 一种基于模块化设计的信息系统迭代式扩展开发方法
CN106406929A (zh) * 2016-08-25 2017-02-15 成都交大光芒科技股份有限公司 分布式信息化应用集成平台应用插件容器实现方法
CN106682487A (zh) * 2016-11-04 2017-05-17 浙江蘑菇加电子商务有限公司 一种用户权限管理方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995692A (zh) * 2013-02-16 2014-08-20 马侠安 构建动态应用系统的vnms
CN105550130A (zh) * 2015-12-14 2016-05-04 中电科华云信息技术有限公司 基于容器的应用环境动态编排的方法及其应用系统
CN106598585A (zh) * 2016-12-08 2017-04-26 长沙学院 云环境下计分驱动的服务快速匹配和聚合方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1309349A (zh) * 2001-03-22 2001-08-22 北京北大天正科技发展有限公司 一种在线定制软件的方法
CN105354037A (zh) * 2015-11-30 2016-02-24 用友优普信息技术有限公司 模块化的软件开发方法及软件开发装置
CN106126204A (zh) * 2016-06-15 2016-11-16 中邮建技术有限公司 一种基于模块化设计的信息系统迭代式扩展开发方法
CN106406929A (zh) * 2016-08-25 2017-02-15 成都交大光芒科技股份有限公司 分布式信息化应用集成平台应用插件容器实现方法
CN106682487A (zh) * 2016-11-04 2017-05-17 浙江蘑菇加电子商务有限公司 一种用户权限管理方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486458A (zh) * 2019-09-11 2021-03-12 珠海格力电器股份有限公司 功能模块的加载方法及计算机可读存储介质
CN112486458B (zh) * 2019-09-11 2022-04-08 珠海格力电器股份有限公司 功能模块的加载方法及计算机可读存储介质
CN111190584A (zh) * 2019-12-10 2020-05-22 平安健康保险股份有限公司 Ehis-db系统版本发布方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2019075977A1 (zh) 2019-04-25

Similar Documents

Publication Publication Date Title
CN101551801B (zh) 数据同步的方法和系统
CN101673289B (zh) 分布式文件存储构架的构建方法和装置
CN105069109B (zh) 一种分布式数据库扩容的方法和系统
CN107430603A (zh) 大规模并行处理数据库的系统和方法
CN103455589B (zh) 产品工厂模式下的产品数据迁移方法、装置及系统
CN104699860A (zh) 一种共享型主数据的数据加工存储方法
CN103631967B (zh) 一种带自增量标识字段的数据表的处理方法及装置
CN110489407A (zh) 数据补采方法、装置、计算机设备及存储介质
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
CN109522332A (zh) 客户信息数据合并方法、装置、设备及可读存储介质
CN104317963B (zh) 一种数据处理方法及装置
CN109241357A (zh) 链式结构模型及其构建方法、系统和终端设备
CN104765596A (zh) 请求处理方法和装置
CN107783787A (zh) 一种软件系统拆分方法及终端设备
CN115858488A (zh) 基于数据治理的平行迁移方法、装置及可读介质
CN113254424B (zh) 数据服务迁移方法、装置及设备
CN103870762A (zh) 分区访问方法和电子设备
CN106980618B (zh) 基于MongoDB分布式集群架构的文件存储方法和系统
CN107800816A (zh) 一种ip地址数据库建立方法及终端设备
CN107463638A (zh) 离线虚拟机间文件共享方法和设备
CN109815047B (zh) 一种数据处理的方法和相关装置
CN109981697B (zh) 一种文件转存方法、系统、服务器及存储介质
CN112163024B (zh) 一种基于层级关联结构的配置信息导出和导入方法
CN114978686A (zh) 数字资产上链方法及装置
CN113535727A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180309

RJ01 Rejection of invention patent application after publication