System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种业务系统与第三方数据库的交互方法、装置、介质及系统。
技术介绍
1、随着近年来科技水平的飞速发展,各种应用程序应运而生,并且随着用户需求的不断增加和具体化,应用程序的更新换代的频率也在越来越快。
2、在软件开发过程中,经常需要调用第三方接口或读取第三方数据库的信息以满足业务需求。传统的开发方式通常要求将所有相关的业务逻辑直接编写到主项目中。这种方式不仅增加了项目的复杂度,还使得项目与第三方数据紧密耦合,不便于后续的维护和升级。当第三方接口或数据库发生变化时,往往需要对主项目进行大量的修改,影响了应用程序的主项目的稳定性和可扩展性。
技术实现思路
1、本申请实施例提供一种业务系统与第三方数据库的交互方法、装置、介质及系统。本方案可以解决现有技术中存在软件开发过程中主项目复杂度高,以及与第三方数据紧密耦合,不利于后续的维护和升级等问题。专利技术提出了一种动态运行javascript代码实现第三方数据交互的系统与方法。该系统与方法利用nashorn引擎和面向切面编程(aspectoriented programming,aop)特性,实现了对第三方接口调用和数据库读取逻辑的解耦,提高了软件系统的灵活性和可维护性。
2、本申请实施例提供一种业务系统与第三方数据库的交互方法,所述方法包括:
3、接收用户在业务系统中发出的用户请求;
4、在业务系统运行的过程中,若识别业务系统运行至预设切点,则通过nashorn引擎调
5、在nashorn引擎中执行所述目标javascript脚本,以通过所述目标javascript脚本用于与第三方数据库进行交互;
6、根据所述预设切点的目标javascript脚本返回的交互数据对所述用户请求进行业务响应。
7、进一步的,在接收用户在业务系统中发出的用户请求之前,还包括:
8、响应于javascript脚本的配置操作,对所述javascript脚本进行配置;其中,包括配置第三方数据库接口所需的接口参数、请求方式以及数据处理逻辑中的至少一种,以及配置第三方数据库所需的连接信息、查询语句以及结果解析逻辑中的至少一种;
9、在javascript脚本配置完成后,将所述javascript脚本导入至业务系统中,以在所述业务系统运行至预设切点并发出调用指令时调用所述javascript脚本。
10、进一步的,在nashorn引擎中执行所述目标javascript脚本,以通过所述目标javascript脚本用于与第三方数据库进行交互,包括:
11、在nashorn引擎中执行所述目标javascript脚本,以通过所述目标javascript脚本的javascript代码直接对所述第三方数据库进行操作,以与所述第三方数据库进行交互。
12、进一步的,在nashorn引擎中执行所述目标javascript脚本,以通过所述目标javascript脚本用于与第三方数据库进行交互,包括:
13、在nashorn引擎中执行所述目标javascript脚本,通过所述nashorn引擎提供的文件读写接口,使所述目标javascript脚本用于与第三方数据库进行交互时直接进行文件读写,以及通过所述nashorn引擎提供的图片加载和处理接口,使所述目标javascript脚本与第三方数据库进行交互时直接进行图片的加载和处理。
14、进一步的,所述nashorn引擎使用engine.eval()方法执行javascript脚本的javascript代码;
15、所述nashorn引擎通过invocable接口调用javascript脚本中的函数。
16、进一步的,在业务系统运行的过程中,若识别业务系统运行至预设切点,则通过nashorn引擎调用当前预设切点所对应的目标javascript脚本之前,还包括:
17、通过切点配置器配置javascript脚本的javascript代码,定义所述javascript代码关联的业务方法,以控制所述javascript代码在所述业务方法中执行,或者在所述业务方法之前执行,或者在所述业务方法之后执行。
18、进一步的,在业务系统运行的过程中,若识别业务系统运行至预设切点,则通过nashorn引擎调用当前预设切点所对应的目标javascript脚本之前,还包括:
19、通过切点配置器配置javascript脚本的新增javascript代码,以对所述javascript脚本进行更新。
20、本申请实施例提供一种业务系统与第三方数据库的交互装置,所述装置包括:
21、用户请求接收模块,用于接收用户在业务系统中发出的用户请求;
22、调用模块,用于在业务系统运行的过程中,若识别业务系统运行至预设切点,则通过nashorn引擎调用当前预设切点所对应的目标javascript脚本;
23、执行模块,用于在nashorn引擎中执行所述目标javascript脚本,以通过所述目标javascript脚本用于与第三方数据库进行交互;
24、业务响应模块,用于根据所述预设切点的目标javascript脚本返回的交互数据对所述用户请求进行业务响应。
25、本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的业务系统与第三方数据库的交互方法。
26、本申请实施例还提供了一种业务系统与第三方数据库的交互系统,所述业务系统与第三方数据库的交互系统用于执行如本申请实施例所述的业务系统与第三方数据库的交互方法。
27、本申请实施例还提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所提供的业务系统与第三方数据库的交互方法。
28、本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
29、本申请提供的技术方案,可以降低侵入性,即通过javascript脚本与主项目的分离,降低了第三方数据交互对主项目的侵入性,提高了项目的可维护性;提高灵活性,利用javascript脚本的灵活性,可以方便地修改和扩展第三方数据交互逻辑,满足不断变化的业务需求;增强可移植性,由于javascript脚本的跨平台性,本专利技术的技术方案可以轻松地移植到不同的软件系统中,实现跨平台的数据交互;提升开发效率,通过动态执行javascript脚本,避免了在主项目中编写大量冗余的代码,提高了开发效率。
本文档来自技高网...【技术保护点】
1.一种业务系统与第三方数据库的交互方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在接收用户在业务系统中发出的用户请求之前,还包括:
3.根据权利要求1所述的方法,其特征在于,在Nashorn引擎中执行所述目标JavaScript脚本,以通过所述目标JavaScript脚本用于与第三方数据库进行交互,包括:
4.根据权利要求1所述的方法,其特征在于,在Nashorn引擎中执行所述目标JavaScript脚本,以通过所述目标JavaScript脚本用于与第三方数据库进行交互,包括:
5.根据权利要求3或4所述的方法,其特征在于,所述Nashorn引擎使用engine.eval()方法执行JavaScript脚本的JavaScript代码;
6.根据权利要求1所述的方法,其特征在于,在业务系统运行的过程中,若识别业务系统运行至预设切点,则通过Nashorn引擎调用当前预设切点所对应的目标JavaScript脚本之前,还包括:
7.根据权利要求1所述的方法,其特征在于,在业务系统运行的
8.一种业务系统与第三方数据库的交互装置,其特征在于,所述装置包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的业务系统与第三方数据库的交互方法。
10.一种业务系统与第三方数据库的交互系统,其特征在于,所述业务系统与第三方数据库的交互系统用于执行如权利要求1-7中任一所述的业务系统与第三方数据库的交互方法。
...【技术特征摘要】
1.一种业务系统与第三方数据库的交互方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在接收用户在业务系统中发出的用户请求之前,还包括:
3.根据权利要求1所述的方法,其特征在于,在nashorn引擎中执行所述目标javascript脚本,以通过所述目标javascript脚本用于与第三方数据库进行交互,包括:
4.根据权利要求1所述的方法,其特征在于,在nashorn引擎中执行所述目标javascript脚本,以通过所述目标javascript脚本用于与第三方数据库进行交互,包括:
5.根据权利要求3或4所述的方法,其特征在于,所述nashorn引擎使用engine.eval()方法执行javascript脚本的javascript代码;
6.根据权利要求1所述的方法,其特征...
【专利技术属性】
技术研发人员:代恒俊,马恩彪,张志昌,
申请(专利权)人:北京国基科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。