本技术涉及计算机,具体涉及一种基于内存数据库的业务处理系统及方法。
背景技术:
1、在当前it(information technology,信息技术)系统支撑领域中,新版本业务发布上线时由于内存数据库无法热升级,涉及内存数据库修改的上线需求,需要按照“停止业务应用->内存数据库数据导出->停止内存数据库->内存数据库升级->启动内存数据库->内存数据库数据导入->启动业务应用”顺序进行新版本业务上线操作。
2、采用上述方法进行业务发布,导致发布期间内存数据库中断时间可达数小时,业务服务中断时间较长,可控性差,无法为用户提供稳定的服务,影响内存数据库的服务性能。
技术实现思路
1、本技术实施例提供一种基于内存数据库的业务处理系统及方法,用以解决业务发布需要启停设备,造成业务中断,影响内存数据库的服务性能的技术问题。
2、第一方面,本技术实施例提供一种基于内存数据库的业务处理系统,包括服务适配模块、通讯协议层、数据适配模块、数据管理库和发布控制模块;
3、所述服务适配模块,用于根据目标业务的发布版本对应的接口,将所述目标业务的发布数据包传输至所述通讯协议层;
4、所述通讯协议层,用于根据所述发布版本对应的通信协议,将所述发布数据包传输至所述数据适配模块;
5、所述数据适配模块,用于根据所述发布版本,在所述数据管理库中确定所述目标业务对应的数据库镜像对;所述数据库镜像对包括第一主内存数据库和第一备内存数据库;
6、所述发布控制模块,用于根据所述发布数据包,对所述第一备内存数据库进行升级,并将所述第一主内存数据库的数据同步至升级后的第一备内存数据库,在所述升级后的第一备内存数据库完成数据同步的情况下,将所述升级后的第一备内存数据库库切换为第二主内存数据库,将所述第一主内存数据库切换为第二备内存数据库,根据所述发布数据包对所述第二备内存数据库进行升级,并将所述第二主内存数据库的数据同步至升级后的第二备内存数据库;
7、所述数据管理库,用于在第二备内存数据库执行所述升级的步骤和/或所述数据同步的步骤的情况下,根据所述第二主内存数据库对所述目标业务的目标业务请求进行处理,在所述第二备内存数据库完成所述升级和所述数据同步的步骤的情况下,根据所述升级后的第二备内存数据库对所述目标业务请求进行处理;所述目标业务请求包括所述发布版本对应的业务请求和/或所述目标业务的历史版本对应的业务请求。
8、在一些实施例中,所述发布控制模块,具体用于:
9、根据所述发布数据包,确定所述发布版本对应的业务应用配置、数据管理库配置、应用流程配置、发布内容配置和调度策略配置中的至少一项;
10、根据所述业务应用配置、所述数据管理库配置、所述应用流程配置、所述发布内容配置和所述调度策略配置中的至少一项,确定所述数据库镜像对对应的升级流程;
11、根据所述升级流程,对所述第一备内存数据库和所述第二备内存数据库进行升级。
12、在一些实施例中,所述升级包括增加数据表和/或更新业务库;
13、所述更新业务库包括增加所述发布版本对应的业务逻辑。
14、在一些实施例中,所述通讯协议层包括参数数据结构语言模块以及数据库访问插件;
15、参数数据结构语言模块,用于提供多版本的控制协议的接口数据模型;
16、所述数据库访问插件,用于根据所述发布版本,在所述多版本的控制协议的接口数据模型中确定第一接口数据模型,并根据所述第一接口数据模型序列化生成所述发布版本对应的通信协议;和/或,根据所述历史版本,在所述多版本的控制协议的接口数据模型中确定第二接口数据模型,并根据所述第二接口数据模型序列化生成所述历史版本对应的通信协议。
17、在一些实施例中,所述数据库访问插件,还用于:
18、在接收到所述数据管理库传输的所述目标业务请求的目标响应信息的情况下,确定第一业务版本是否与第二业务版本一致;所述第一业务版本是所述目标响应信息的通信协议对应的业务版本,所述第二业务版本是所述目标业务请求的通信协议对应的业务版本;
19、在所述第一业务版本与所述第二业务版本不一致的情况下,根据所述目标响应信息的通信协议反序列化生成所述第二业务版本对应的通信协议;
20、根据所述第二业务版本对应的通信协议将所述目标响应信息,通过所述第二业务版本对应的接口返回至所述目标业务请求对应的客户端。
21、在一些实施例中,所述数据管理库,还用于:
22、在所述第一备内存数据库执行所述升级的步骤和/或所述数据同步的步骤的情况下,基于所述第一主内存数据库对所述历史版本对应的业务请求进行处理。
23、第二方面,本技术实施例提供一种基于内存数据库的业务处理方法,应用于如上述任一项所述基于内存数据库的业务处理系统,所述方法包括:
24、基于服务适配模块,根据目标业务的发布版本对应的接口,将所述目标业务的发布数据包传输至通讯协议层;
25、基于所述通讯协议层,根据所述发布版本对应的通信协议,将所述发布数据包传输至数据适配模块;
26、基于数据适配模块,根据所述发布版本,在数据管理库中确定所述目标业务对应的数据库镜像对;所述数据库镜像对包括第一主内存数据库和第一备内存数据库;
27、基于发布控制模块,根据所述发布数据包,对所述第一备内存数据库进行升级,并将所述第一主内存数据库的数据同步至升级后的第一备内存数据库,在所述升级后的第一备内存数据库完成数据同步的情况下,将所述升级后的第一备内存数据库库切换为第二主内存数据库,将所述第一主内存数据库切换为第二备内存数据库,根据所述发布数据包对所述第二备内存数据库进行升级,并将所述第二主内存数据库的数据同步至升级后的第二备内存数据库;
28、基于数据管理库,在所述第二备内存数据库执行所述升级的步骤和/或所述数据同步的步骤的情况下,根据所述第二主内存数据库对所述目标业务的目标业务请求进行处理,在所述第二备内存数据库完成所述升级和所述数据同步的步骤的情况下,根据所述升级后的第二备内存数据库对所述目标业务请求进行处理;所述目标业务请求包括所述发布版本对应的业务请求和/或所述目标业务的历史版本对应的业务请求。
29、在一些实施例中,所述基于发布控制模块,根据所述发布数据包,对所述第一备内存数据库进行升级,包括:
30、基于所述发布控制模块,根据所述发布数据包,确定所述发布版本对应的业务应用配置、数据管理库配置、应用流程配置、发布内容配置和调度策略配置中的至少一项;根据所述业务应用配置、所述数据管理库配置、所述应用流程配置、所述发布内容配置和所述调度策略配置中的至少一项,确定所述数据库镜像对对应的升级流程;根据所述升级流程,对所述第一备内存数据库和所述第二备内存数据库进行升级。
31、在一些实施例中,所述方法还包括:
32、基于所述通讯协议层,根据所述发布版本,在多版本的控制协议的接口数据模型中确定第一接口数据模型,并根据所述第一接口数据模型序列化生成所述发布版本对应的通信协议;
33、和/或,根据所述历史版本,在所述多版本的控制协议的接口数据模型中确定第二接口数据模型,并根据所述第二接口数据模型序列化生成所述历史版本对应的通信协议。
34、第三方面,本技术实施例提供一种电子设备,包括存储器和处理器;
35、存储器,用于存储计算机程序;
36、处理器,用于执行所述计算机程序时实现如第二方面所述的基于内存数据库的业务处理方法的步骤。
37、第四方面,本技术实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现如第二方面所述的基于内存数据库的业务处理方法的步骤。
38、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第二方面所述的基于内存数据库的业务处理方法的步骤。
39、本技术实施例提供的基于内存数据库的业务处理系统及方法,通过服务适配模块可根据目标业务的发布版本对应的接口,将发布数据包传输至通讯协议层,通讯协议层可根据发布版本对应的通信协议,将发布数据包传输至数据适配模块,数据适配模块可在数据管理库中确定目标业务对应的数据库镜像对,发布控制模块可根据发布数据包,自动对内存数据库进行无缝切换升级,数据管理库可以在内存数据库无缝切换升级过程中,根据主备状态将客户端自动切换连接至相应的内存数据库,由此实现依赖内存数据库的业务不中断,提高内存数据库的高可用性和稳定性。
1.一种基于内存数据库的业务处理系统,其特征在于,包括服务适配模块、通讯协议层、数据适配模块、数据管理库和发布控制模块;
2.根据权利要求1所述的基于内存数据库的业务处理系统,其特征在于,所述发布控制模块,具体用于:
3.根据权利要求1所述的基于内存数据库的业务处理系统,其特征在于,所述升级包括增加数据表和/或更新业务库;
4.根据权利要求1-3任一项所述的基于内存数据库的业务处理系统,其特征在于,所述通讯协议层包括参数数据结构语言模块以及数据库访问插件;
5.根据权利要求4所述的基于内存数据库的业务处理系统,其特征在于,所述数据库访问插件,还用于:
6.根据权利要求1-3任一项所述的基于内存数据库的业务处理系统,其特征在于,所述数据管理库,还用于:
7.一种基于内存数据库的业务处理方法,其特征在于,应用于如权利要求1-6任一项所述基于内存数据库的业务处理系统,所述方法包括:
8.根据权利要求7所述的基于内存数据库的业务处理方法,其特征在于,所述基于发布控制模块,根据所述发布数据包,对所述第一备内存数据库进行升级,包括:
9.根据权利要求7所述的基于内存数据库的业务处理方法,其特征在于,所述方法还包括:
10.一种电子设备,其特征在于,包括存储器和处理器;