CN115630110A - 数据库的接口路由方法、装置、计算机设备及存储介质 - Google Patents

数据库的接口路由方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115630110A
CN115630110A CN202211379683.7A CN202211379683A CN115630110A CN 115630110 A CN115630110 A CN 115630110A CN 202211379683 A CN202211379683 A CN 202211379683A CN 115630110 A CN115630110 A CN 115630110A
Authority
CN
China
Prior art keywords
database
routing
interface
target
service
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
CN202211379683.7A
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 Bank Co Ltd
Original Assignee
Ping An Bank 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 Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202211379683.7A priority Critical patent/CN115630110A/zh
Publication of CN115630110A publication Critical patent/CN115630110A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种数据库的接口路由方法、装置、计算机设备及存储介质,该方法通过获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型,在当前业务的数据库类型与下一个业务的数据库类型不一致的情况下,发送当前业务对应的源数据库的接口路由指令,获取预先注解切入的自适应接口路由引擎,从自适应接口路由引擎查找与目标数据库类型匹配的数据库接口作为目标接口,按照目标路由规则将源数据库路由至目标接口,以操作下一个业务,实现了数据库的无损切换和数据库接口的智能路由,保证了不同数据库类型的数据安全无损迁移,对当前业务无感知,提高了同一平台业务的兼容性和平台中业务操作效率和安全性。

Description

数据库的接口路由方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种数据库的接口路由方法、装置、计算机设备及存储介质。
背景技术
如今的单一平台系统包括的业务类型和功能模块越来越多,由于同一平台中的业务所依赖的数据库类型不同,针对不同的业务类型或者功能模块,造成数据库类型的切换工作任务庞大,且具有众多不确定性。目前,一方面是通过针对不同的业务类型,通过重复造轮子实现分库逻辑,不仅需要开发人员具有专业知识,而且增加了不必要的工作量,另一方面,是直接对所有业务进行手动切换,即对需要切换的数据库类型进行离线同步后重启服务器,以完成业务操作,这必然存在流量损失问题,且业务运行存在一定风险,降低了平台系统的兼容性,影响平台系统的其他业务或者功能模块的运行,因此,有必要提供一种安全无损且不会影响现有业务的数据库切换方案。
发明内容
基于此,有必要针对上述技术问题,提供一种可用于金融科技或者其他相关领域的数据库的接口路由方法、装置、计算机设备及存储介质,以解决数据库切换导致的业务运行风险和同一平台业务不兼容的技术问题。
一方面,本申请提供一种数据库的接口路由方法,所述方法包括:
获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型;
在所述当前业务的数据库类型与所述下一个业务的数据库类型不一致的情况下,发送所述当前业务对应的源数据库的接口路由指令,所述接口路由指令包括所述下一个业务对应的目标数据库类型和目标路由规则;
获取预先注解切入的自适应接口路由引擎,所述自适应接口路由引擎包括多个不同类型数据库对应的数据库接口;
从所述自适应接口路由引擎查找与所述目标数据库类型匹配的数据库接口作为目标接口;
按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务。
一方面,本申请提供一种数据库的接口路由装置,所述装置包括:
第一获取模块,用于获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型;
发送模块,用于在所述当前业务的数据库类型与所述下一个业务的数据库类型不一致的情况下,发送所述当前业务对应的源数据库的接口路由指令,所述接口路由指令包括所述下一个业务对应的目标数据库类型和目标路由规则;
第二获取模块,用于获取预先注解切入的自适应接口路由引擎,所述自适应接口路由引擎包括多个不同类型数据库对应的数据库接口;
查找模块,用于从所述自适应接口路由引擎查找与所述目标数据库类型匹配的数据库接口作为目标接口;
路由模块,用于按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务。
一方面,本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述数据库的接口路由方法中的步骤。
一方面,本申请提供一种计算机可读介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述数据库的接口路由方法中的步骤。
本申请实施例提供了一种数据库的接口路由方法,通过获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型,在当前业务的数据库类型与下一个业务的数据库类型不一致的情况下,发送当前业务对应的源数据库的接口路由指令,接口路由指令包括下一个业务对应的目标数据库类型和目标路由规则,获取预先注解切入的自适应接口路由引擎,自适应接口路由引擎包括多个不同类型数据库对应的数据库接口,从自适应接口路由引擎查找与目标数据库类型匹配的数据库接口作为目标接口,按照目标路由规则将源数据库路由至目标接口,以操作下一个业务,实现了数据库的无损切换和数据库接口的智能路由,采用本申请实施例,保证了不同数据库类型的数据安全无损迁移,对当前业务无感知,提高了同一平台业务的兼容性和平台中业务操作效率和安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中数据库的接口路由方法的应用场景示意图;
图2为一个实施例中数据库的接口路由方法的流程图;
图3为一个实施例中数据库的接口路由装置的结构框图;
图4为一个实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的数据库的接口路由方法,可应用在如图1的应用环境中,其中,终端设备通过网络与服务器进行通信。其中,终端设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
系统框架100可以包括终端设备101、102、103、网络104和服务器105。网络用以在终端设备和服务器之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备通过网络与服务器交互,以接收或者发送消息等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture EpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureEperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本发明实施例所提供的数据库的接口路由方法由服务器执行,相应地,数据库的接口路由装置设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,根据实现需要,可以具有任意数目的终端设备、网络和服务器,本发明实施例中的终端设备具体可以对应的是实际生产中的应用系统。
如图2所示,在一个实施例中,提供了一种数据库的接口路由方法,该数据库的接口路由方法既可以应用于终端,也可以应用于服务器,本实施例以应用于服务器举例说明。该数据库的接口路由方法具体包括以下步骤:
步骤201,获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型。
其中,当前业务的数据库类型是指正在运行的业务的数据库的类型,下一个业务的数据库类型是指需要切换到的业务的数据库的类型,以金融科技领域的银行管理系统为例进行说明,当前业务的数据库类型为制卡业务的数据库类型为oracle数据库,下一个业务的数据库类型为业务员业绩统计业务的数据库类型为mysql数据库。
具体地,可以通过识别服务器的端口确定当前业务的数据库类型和下一个业务的数据库类型,例如,oracle数据库的端口为1521,mysql数据库的端口为3306;也可以通过不同类型数据库的特殊语句识别,例如,oracle数据库的特殊语句可以是“select bannerfrom v$version;select banner from v$version where rownum=1;postgresql:selectversion()”,mysqle数据库的特殊语句可以是“select version();&select@@version;sqlserver:select@@version”。本实施例中,通过获取当前业务的数据库类型及下一个业务的数据库类型,以便后续实现对当前业务和下一个业务进行无损切换,提高业务处理速度。
步骤202,在当前业务的数据库类型与下一个业务的数据库类型不一致的情况下,发送当前业务对应的源数据库的接口路由指令,接口路由指令包括下一个业务对应的目标数据库类型和目标路由规则。
其中,当前业务对应的源数据库的接口路由指令是客户端向服务器发送的用于数据库类型进行路由的命令,该当前业务对应的源数据库的接口路由指令包括下一个业务对应的目标数据库类型和目标路由规则,其中的下一个业务对应的目标数据库类型是指需要路由到的数据库类型,如mysql数据库。目标路由规则是指需要进行数据库类型路由过程中的路由方式,如,直接路由规则、主次切换路由规则等。
具体地,当当前业务的数据库类型与下一个业务的数据库类型不一致时,表明需要进行数据库类型的切换,以操作下一个业务,因此,服务器接收当前业务对应的源数据库的接口路由指令,以便基于实现对数据库接口的路由操作,进而实现数据库的自动切换。
步骤203,获取预先注解切入的自适应接口路由引擎,自适应接口路由引擎包括多个不同类型数据库对应的数据库接口。
其中,自适应接口路由引擎是一种预先注解好的接口路由引擎,用于在service调用dao层(data access object,数据连接层)时,进行可控可调的接口路由引擎,该自适应接口路由引擎包括多个不同类型数据库对应的数据库接口,即一种类型数据库对应一个数据库接口,自适应接口路由引擎用于后续智能路由到不同数据库接口,实现数据库接口的无损切换,提高数据库接口的切换效率。
具体地,通过获取预先注解切入的自适应接口路由引擎,从而能够自适应进行数据库接口的路由和切换,避免手动切换的费时费力和业务操作风险。由于平台中的不同业务需要进行数据库类型的切换,其操作任务庞大,且具有不确定性,多组件内众多业务,为了安全无损完成迁移,不影响当前业务,提高业务操作效率,因此,本实施例中,通过预先注解切入的自适应接口路由引擎,实现不同数据库类型的自动切换,提高平台业务操作的安全性和兼容性。
在一个具体实施方式中,自适应接口路由引擎可以通过新增数据库类型,扩展需要迁移的数据库类型。当用户需要路由到新的数据库类型的数据库接口,可以自动添加,并做相应操作实现,示例性地,需要当前使用的oracle dao层迁移mysqldao层,只需要新增相应的mysqldao层,并确保oracle dao层和mysqldao层地sqlid一致。通过自适应接口路由引擎实现不同数据库库类型的数据的高校迁移,无需开发人员重新开发数据库或者手动同步数据,提高了数据库接口的切换效率和智能化程度。
步骤204,从自适应接口路由引擎查找与目标数据库类型匹配的数据库接口作为目标接口。
其中,目标接口为自适应接口路由引擎中的数据库接口,且该数据库接口对应的数据库类型与目标数据库类型匹配,本实施例中的匹配即为目标数据库类型与数据库接口对应的数据库类型一致。
具体地,根据目标数据库类型,在自适应接口路由引擎中查询与目标数据库类型匹配的数据库类型作为匹配成功的数据库类型,匹配成功的数据库类型对应的数据库接口即为目标接口。
步骤205,按照目标路由规则将源数据库路由至目标接口,以操作下一个业务。
具体地,根据目标路由规则,将源数据库路由至目标接口,进而操作下一个业务,实现了将源数据库切换至目标数据库类型对应的数据库,进而实现了数据库的无损切换和数据库接口的智能路由,本实施例通过预先注解切入的自适应接口路由引擎进行数据库智能路由,保证了不同数据库类型的数据安全无损迁移,对当前业务无感知,提高了同一平台业务的兼容性和平台中业务操作效率和安全性。
上述数据库的接口路由方法,通过获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型,在当前业务的数据库类型与下一个业务的数据库类型不一致的情况下,发送当前业务对应的源数据库的接口路由指令,接口路由指令包括下一个业务对应的目标数据库类型和目标路由规则,获取预先注解切入的自适应接口路由引擎,自适应接口路由引擎包括多个不同类型数据库对应的数据库接口,从自适应接口路由引擎查找与目标数据库类型匹配的数据库接口作为目标接口,按照目标路由规则将源数据库路由至目标接口,以操作下一个业务,实现了数据库的无损切换和数据库接口的智能路由,采用本申请实施例,保证了不同数据库类型的数据安全无损迁移,对当前业务无感知,提高了同一平台业务的兼容性和平台中业务操作效率和安全性。
在一个实施例中,获取预先注解切入的自适应接口路由引擎,自适应接口路由引擎包括多个不同类型数据库对应的数据库接口,包括:在spring配置文件中配置多种数据库类型各自对应的第一数据源;对各个第一数据源进行自动注解,生成注解代码;在注解代码中添加多个预设路由规则,生成路由代码,其中,预设路由规则包括目标路由规则;将路由代码以切入的方式与预设dao层绑定,生成各个第一数据源的对应的数据库接口;基于第一数据源的对应的数据库接口形成自适应接口路由引擎。
其中,第一数据源是指同一平台中业务所使用的数据库,且一种数据库类型对应一个第一数据源。预设路由规则是指预先设置的用于确定数据库接口路由的方式,具体跟根据不同的场景进行设置,该预设路由规则可以是白名单路由规则、比例切换路由规则,主次切换路由规则,双写切换路由规则,单写切换路由规则等,以适应复杂的业务场景,提高路由切换的广泛适用性和多样化。预设dao层可以使用JDBC或者MyBatis,从而不需要修改service层的代码。
具体地,可以通过spring容器预先编写spring配置文件,如applicationContext.xml的spring配置文件,将第一数据源放入spring容器中,从而配置多种数据库类型各自对应的第一数据源,然后,对各个第一数据源进行自动注解,可以在在applicationContext.xml中配置组件扫描,以指定包及其子包下Bean需要进行扫描,识别使用注解配置的类、字段和方法,例如,通过<context:component-scan base-package="com.ithema"/>的类、字段和方法生成注解代码,接着,在注解代码中添加多个预设路由规则,生成路由代码,最后,将路由代码以切入的方式与预设dao层绑定,生成各个第一数据源的对应的数据库接口,组合第一数据源的对应的数据库接口,得到自适应接口路由引擎。可以理解地,本实施例中通过预先注解切入得到自适应接口路由引擎,从而能够针对不同的场景按照对应的路由规则进行接口路由切换,使得自适应接口路由引擎中数据库接口路由可控可调,提高了路由切换的广泛适用性和智能化程度。
在一个实施例中,对各个数据源进行自动注解,生成数据源注解代码,包括:获取各个第一数据源的字段参数及对应的预设注解代码模板;将字段参数加载至预设注解代码模板,生成数据源注解代码。
其中,字段参数是指各个第一数据源的字段的特征参数。预设注解代码模板是指预先配置的用于注解代码的模板。
具体地,获取各个第一数据源的字段参数,并构造对应的预设注解代码模板,将字段参数加载至预设注解代码模板,得到数据源注解代码。
在一个实施例中,预设路由规则包括主次切换规则,白名单规则和写入规则;按照目标路由规则将源数据库路由至目标接口,以操作下一个业务,包括:当目标路由规则为主次切换规则时,则将源数据库路由至目标接口,以操作下一个业务,并返回操作下一个业务的业务结果。
其中,主次切换规则是指根据配置选择返回数据的是路由的哪个节点数据,可以自由选择当前数据库返回结果作为主数据结果,将路由新的数据库返回结果作为次数据结果,也可以将路由新的数据库返回结果作为主数据结果,将当前数据库返回结果作为主数据结果。白名单规则是指针对圈定资源的请求进行路由,其他情况保持原dao层访问。写入规则是指数据写入的规则,包括单侧写入和双侧写入,其中,源数据库是oracle数据库写入,迁移至目标数据库是mysql数据库,可以配置单写mysql数据库,也可以配置单写oracle数据库,还可以配置两个数据库都写,即双侧写入,值得说明的是,双侧写入有助于数据对比,迁移失败的情况下,不会影响原有数据库的操作。
具体地,当目标路由规则为主次切换规则时,则将源数据库路由至目标接口,以操作下一个业务,并返回操作下一个业务的业务结果,实现了主次切换场景下的路由切换。
在一个实施例中,按照目标路由规则将源数据库路由至目标接口,以操作下一个业务,包括:当目标路由规则为白名单规则时,则从自适应接口路由引擎中选取预设数量的数据库接口确定为白名单列表;将源数据库路由至白名单列表中的数据库接口,以操作下一个业务,并返回操作下一个业务的第一结果;将源数据库路由至目标接口,以操作下一个业务,并返回操作下一个业务的第二结果;根据第一结果和第二结果确定下一个业务的业务结果。
具体地,当目标路由规则为白名单规则时,则从自适应接口路由引擎中选取预设数量的数据库接口确定为白名单列表,将源数据库路由至白名单列表中的数据库接口,以操作下一个业务,并返回操作下一个业务的第一结果,然后,将源数据库路由至目标接口,以操作下一个业务,并返回操作下一个业务的第二结果,可以将第一结果或第二结果确定为下一个业务的业务结果,优选地,将第一结果确定为下一个业务的业务结果,通过白名单规则,有效控制了前期切换风险影响范围。
在一个实施例中,写入规则包括单侧写入规则和双侧写入规则;按照目标路由规则将源数据库路由至目标接口,以操作下一个业务,包括:当目标路由规则为单侧写入规则时,则将源数据库路由至目标接口,以操作下一个业务,并返回操作下一个业务的第三结果;将第三结果写入源数据库或目标数据库,生成下一个业务的业务结果;当目标路由规则为双侧写入规则时,则获取源数据库至路由至目标接口,以操作下一个业务,并返回操作下一个业务的第四结果;将第四结果分别写入源数据库和目标数据库,生成第五结果和第六结果;根据第五结果和第六结果确定下一个业务的业务结果。
具体地,当目标路由规则为单侧写入规则时,则将源数据库路由至目标接口,以操作下一个业务,并返回操作下一个业务的第三结果,将第三结果写入源数据库或目标数据库,生成下一个业务的业务结果。
当目标路由规则为双侧写入规则时,则获取源数据库至路由至目标接口,以操作下一个业务,并返回操作下一个业务的第四结果;将第四结果分别写入源数据库和目标数据库,生成第五结果和第六结果,可以通过比对根据第五结果和第六结果,根据比对结果确定下一个业务的业务结果。通过双侧写入地方式进行路由,实现了智能完成对比,切换,路由功能,有效实现了平滑过渡,降低了风险。
在一个实施例中,自适应接口路由引擎还包括多个业务模块,方法还包括:从自适应接口路由引擎查找与下一个业务一致的业务模块作为目标模块;利用自适应接口路由引擎将当前业务路由至目标模块。
其中,业务模块是指同一平台中的业务功能模块,用于进行业务模块的接口之间的路由和切换。可以在在自适应接口路由引擎添加多个业务模块和对应的业务模块接口。
具体地,从自适应接口路由引擎查找与下一个业务一致的业务模块作为目标模块,利用自适应接口路由引擎将当前业务路由至目标模块,实现了对业务的智能化切换。
如图3所示,在一个实施例中,提出了一种数据库的接口路由装置,包括:
第一获取模块301,用于获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型;
发送模块302,用于在所述当前业务的数据库类型与所述下一个业务的数据库类型不一致的情况下,发送所述当前业务对应的源数据库的接口路由指令,所述接口路由指令包括所述下一个业务对应的目标数据库类型和目标路由规则;
第二获取模块303,用于获取预先注解切入的自适应接口路由引擎,所述自适应接口路由引擎包括多个不同类型数据库对应的数据库接口;
查找模块304,用于从所述自适应接口路由引擎查找与所述目标数据库类型匹配的数据库接口作为目标接口;
路由模块305,用于按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务。
在一个实施例中,所述第二获取模块303包括:
配置单元,用于在spring配置文件中配置多种数据库类型各自对应的第一数据源;
注解单元,用于对各个所述第一数据源进行自动注解,生成注解代码;
添加单元,用于在所述注解代码中添加多个预设路由规则,生成路由代码,其中,所述预设路由规则包括所述目标路由规则;
绑定单元,用于将所述路由代码以切入的方式与预设dao层绑定,生成各个第一数据源的对应的数据库接口;
生成单元,用于基于所述第一数据源的对应的数据库接口形成所述自适应接口路由引擎。
在一个实施例中,注解单元包括:
获取子单元,用于获取各个所述第一数据源的字段参数及对应的预设注解代码模板;
加载子单元,用于将所述字段参数加载至所述预设注解代码模板,生成所述数据源注解代码。
在一个实施例中,所述预设路由规则包括主次切换规则,白名单规则和写入规则;路由模块305包括:
第一路由单元,用于当所述目标路由规则为所述主次切换规则时,则将所述源数据库路由至所述目标接口,以操作所述下一个业务,并返回所述操作所述下一个业务的业务结果。
在一个实施例中,路由模块305包括:
选取单元,用于当所述目标路由规则为所述白名单规则时,则从所述自适应接口路由引擎中选取预设数量的所述数据库接口确定为白名单列表;
第二路由单元,用于将所述源数据库路由至所述白名单列表中的所述数据库接口,以操作所述下一个业务,并返回所述操作所述下一个业务的第一结果;
第三路由单元,用于将所述源数据库路由至所述目标接口,以操作所述下一个业务,并返回所述操作所述下一个业务的第二结果;
第一确定单元,用于根据所述第一结果和第二结果确定所述下一个业务的业务结果。
在一个实施例中,所述写入规则包括单侧写入规则和双侧写入规则;路由模块305包括:
第四路由单元,用于当所述目标路由规则为所述单侧写入规则时,则将所述源数据库路由至所述目标接口,以操作所述下一个业务,并返回所述操作所述下一个业务的第三结果;
第一写入单元,用于将所述第三结果写入所述源数据库或所述目标数据库,生成所述下一个业务的业务结果;
第五路由单元,用于当所述目标路由规则为所述双侧写入规则时,则获取所述源数据库至路由至所述目标接口,以操作所述下一个业务,并返回所述操作所述下一个业务的第四结果;
第二写入单元,用于将所述第四结果分别写入所述源数据库和所述目标数据库,生成第五结果和第六结果;
第二确定单元,用于根据所述第五结果和第六结果确定所述下一个业务的业务结果。
在一个实施例中,该数据库的接口路由装置还包括:
第一查找模块,用于从所述自适应接口路由引擎查找与所述下一个业务一致的业务模块作为目标模块;
第一路由模块,用于利用所述引擎自适应接口路由引擎将所述当前业务路由至所述目标模块。
由上述技术方案可以得出,本申请通过获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型,在当前业务的数据库类型与下一个业务的数据库类型不一致的情况下,发送当前业务对应的源数据库的接口路由指令,接口路由指令包括下一个业务对应的目标数据库类型和目标路由规则,获取预先注解切入的自适应接口路由引擎,自适应接口路由引擎包括多个不同类型数据库对应的数据库接口,从自适应接口路由引擎查找与目标数据库类型匹配的数据库接口作为目标接口,按照目标路由规则将源数据库路由至目标接口,以操作下一个业务,实现了数据库的无损切换和数据库接口的智能路由,采用本申请实施例,保证了不同数据库类型的数据安全无损迁移,对当前业务无感知,提高了同一平台业务的兼容性和平台中业务操作效率和安全性。
图4示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是服务器,所述服务器包括但不限于高性能计算机和高性能计算机集群。如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据库的接口路由方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据库的接口路由方法。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据库的接口路由方法可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成数据库的接口路由装置的各个程序模板。比如,第一获取模块301,发送模块302,第二获取模块303,查找模块304,路由模块305。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下数据库的接口路由方法中的步骤:
获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型;
在所述当前业务的数据库类型与所述下一个业务的数据库类型不一致的情况下,发送所述当前业务对应的源数据库的接口路由指令,所述接口路由指令包括所述下一个业务对应的目标数据库类型和目标路由规则;
获取预先注解切入的自适应接口路由引擎,所述自适应接口路由引擎包括多个不同类型数据库对应的数据库接口;
从所述自适应接口路由引擎查找与所述目标数据库类型匹配的数据库接口作为目标接口;
按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下数据库的接口路由方法中的步骤:
获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型;
在所述当前业务的数据库类型与所述下一个业务的数据库类型不一致的情况下,发送所述当前业务对应的源数据库的接口路由指令,所述接口路由指令包括所述下一个业务对应的目标数据库类型和目标路由规则;
获取预先注解切入的自适应接口路由引擎,所述自适应接口路由引擎包括多个不同类型数据库对应的数据库接口;
从所述自适应接口路由引擎查找与所述目标数据库类型匹配的数据库接口作为目标接口;
按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据库的接口路由方法,其特征在于,所述方法包括:
获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型;
在所述当前业务的数据库类型与所述下一个业务的数据库类型不一致的情况下,发送所述当前业务对应的源数据库的接口路由指令,所述接口路由指令包括所述下一个业务对应的目标数据库类型和目标路由规则;
获取预先注解切入的自适应接口路由引擎,所述自适应接口路由引擎包括多个不同类型数据库对应的数据库接口;
从所述自适应接口路由引擎查找与所述目标数据库类型匹配的数据库接口作为目标接口;
按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务。
2.如权利要求1所述的数据库的接口路由方法,其特征在于,所述获取预先注解切入的自适应接口路由引擎,所述自适应接口路由引擎包括多个不同类型数据库对应的数据库接口,包括:
在spring配置文件中配置多种数据库类型各自对应的第一数据源;
对各个所述第一数据源进行自动注解,生成注解代码;
在所述注解代码中添加多个预设路由规则,生成路由代码,其中,所述预设路由规则包括所述目标路由规则;
将所述路由代码以切入的方式与预设dao层绑定,生成各个第一数据源的对应的数据库接口;
基于所述第一数据源的对应的数据库接口形成所述自适应接口路由引擎。
3.如权利要求2所述的数据库的接口路由方法,其特征在于,所述对各个所述数据源进行自动注解,生成数据源注解代码,包括:
获取各个所述第一数据源的字段参数及对应的预设注解代码模板;
将所述字段参数加载至所述预设注解代码模板,生成所述数据源注解代码。
4.如权利要求3所述的数据库的接口路由方法,其特征在于,所述预设路由规则包括主次切换规则,白名单规则和写入规则;
所述按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务,包括:
当所述目标路由规则为所述主次切换规则时,则将所述源数据库路由至所述目标接口,以操作所述下一个业务,并返回所述操作所述下一个业务的业务结果。
5.如权利要求3所述的数据库的接口路由方法,其特征在于,所述按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务,包括:
当所述目标路由规则为所述白名单规则时,则从所述自适应接口路由引擎中选取预设数量的所述数据库接口确定为白名单列表;
将所述源数据库路由至所述白名单列表中的所述数据库接口,以操作所述下一个业务,并返回所述操作所述下一个业务的第一结果;
将所述源数据库路由至所述目标接口,以操作所述下一个业务,并返回所述操作所述下一个业务的第二结果;
根据所述第一结果和第二结果确定所述下一个业务的业务结果。
6.如权利要求3所述的数据库的接口路由方法,其特征在于,所述写入规则包括单侧写入规则和双侧写入规则;
所述按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务,包括:
当所述目标路由规则为所述单侧写入规则时,则将所述源数据库路由至所述目标接口,以操作所述下一个业务,并返回所述操作所述下一个业务的第三结果;
将所述第三结果写入所述源数据库或所述目标数据库,生成所述下一个业务的业务结果;
当所述目标路由规则为所述双侧写入规则时,则获取所述源数据库至路由至所述目标接口,以操作所述下一个业务,并返回所述操作所述下一个业务的第四结果;
将所述第四结果分别写入所述源数据库和所述目标数据库,生成第五结果和第六结果;
根据所述第五结果和第六结果确定所述下一个业务的业务结果。
7.如权利要求1所述的数据库的接口路由方法,其特征在于,所述自适应接口路由引擎还包括多个业务模块,所述方法还包括:
从所述自适应接口路由引擎查找与所述下一个业务一致的业务模块作为目标模块;
利用所述引擎自适应接口路由引擎将所述当前业务路由至所述目标模块。
8.一种数据库的接口路由装置,其特征在于,所述装置包括:
第一获取模块,用于获取当前业务的数据库类型,并获取待操作的下一个业务的数据库类型;
发送模块,用于在所述当前业务的数据库类型与所述下一个业务的数据库类型不一致的情况下,发送所述当前业务对应的源数据库的接口路由指令,所述接口路由指令包括所述下一个业务对应的目标数据库类型和目标路由规则;
第二获取模块,用于获取预先注解切入的自适应接口路由引擎,所述自适应接口路由引擎包括多个不同类型数据库对应的数据库接口;
查找模块,用于从所述自适应接口路由引擎查找与所述目标数据库类型匹配的数据库接口作为目标接口;
路由模块,用于按照所述目标路由规则将所述源数据库路由至所述目标接口,以操作所述下一个业务。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述数据库的接口路由方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述数据库的接口路由方法的步骤。
CN202211379683.7A 2022-11-04 2022-11-04 数据库的接口路由方法、装置、计算机设备及存储介质 Pending CN115630110A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211379683.7A CN115630110A (zh) 2022-11-04 2022-11-04 数据库的接口路由方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211379683.7A CN115630110A (zh) 2022-11-04 2022-11-04 数据库的接口路由方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN115630110A true CN115630110A (zh) 2023-01-20

Family

ID=84908165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211379683.7A Pending CN115630110A (zh) 2022-11-04 2022-11-04 数据库的接口路由方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115630110A (zh)

Similar Documents

Publication Publication Date Title
CN110413685B (zh) 数据库服务切换方法、装置、可读存储介质和计算机设备
CN110162517A (zh) 数据迁移方法、装置、设备及计算机可读存储介质
CN106293311A (zh) 基于移动应用的页面显示方法、客户端、服务器及平台
CN108536745B (zh) 基于Shell的数据表提取方法、终端、设备及存储介质
US9401957B2 (en) System and method for synchronization between servers
CN109657177A (zh) 升级后页面的生成方法、装置、存储介质及计算机设备
CN106874328A (zh) 一种数据处理方法和设备
US11645455B2 (en) Tracking attribution of content in an online collaborative electronic document
CN107480205A (zh) 一种进行数据分区的方法和装置
CN110019539A (zh) 一种数据仓库的数据同步的方法和装置
CN105138649A (zh) 数据的搜索方法、装置及终端
CN111209061A (zh) 用户信息的填写方法、装置、计算机设备和存储介质
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
CN112988879B (zh) 访问数据库的方法、系统、装置、存储介质及处理器
CN116661936A (zh) 页面数据的处理方法、装置、计算机设备及存储介质
CN111767126A (zh) 分布式批量处理的系统和方法
CN111444148A (zh) 基于MapReduce的数据传输方法和装置
CN113127430A (zh) 镜像信息处理方法、装置、计算机可读介质及电子设备
CN115630110A (zh) 数据库的接口路由方法、装置、计算机设备及存储介质
CN114564924A (zh) 数据插入方法、装置、设备及存储介质
CN104516883A (zh) 一种网页共享方法、装置及系统
CN115033551A (zh) 一种数据库迁移方法、装置、电子设备及存储介质
CN103379167A (zh) 多点同步存储的文件下载异常处理系统及方法
CN109325057B (zh) 中间件管理方法、装置、计算机设备以及存储介质
CN111880831A (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