CN117194073A - 数据处理方法、装置、电子设备和计算机可读介质 - Google Patents
数据处理方法、装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN117194073A CN117194073A CN202311113625.4A CN202311113625A CN117194073A CN 117194073 A CN117194073 A CN 117194073A CN 202311113625 A CN202311113625 A CN 202311113625A CN 117194073 A CN117194073 A CN 117194073A
- Authority
- CN
- China
- Prior art keywords
- interface
- service
- script
- calling
- data processing
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000013515 script Methods 0.000 claims abstract description 178
- 238000012545 processing Methods 0.000 claims abstract description 114
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 19
- 230000006870 function Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了数据处理方法、装置、电子设备和计算机可读介质,涉及自动程序设计技术领域。该方法的一具体实施方式包括:根据接口查询信息查询接口注册列表,从而匹配出接口查询信息对应的接口注册信息;将接口注册信息返回至客户端;接收并存储客户端上传的业务脚本,业务脚本定义了各个接口的调用顺序和业务处理逻辑;接收业务系统发送的数据处理请求,数据处理请求携带脚本标识和业务参数,根据脚本标识匹配出对应的业务脚本;执行业务脚本,以执行如下步骤:基于业务参数并根据业务脚本中定义的各个接口的调用顺序依次调用各个接口,并根据各个接口的调用结果进行业务处理。该实施方式能够解决项目迭代难度大、开发效率低的技术问题。
Description
技术领域
本发明涉及自动程序设计技术领域,尤其涉及一种数据处理方法、装置、电子设备和计算机可读介质。
背景技术
随着互联网快速发展和不断变化的市场需求,老旧项目的更新迭代已经越来越困难了。对于那些历史悠久的应用程序和软件,其代码库可能已经变得臃肿而难以维护,并且可能缺乏适应新技术和新需求的灵活性。此外,随着客户对数字化的渴望和竞争加剧,也就意味着客户的新需求越来越多。维护旧有功能并满足新需求之间的平衡已经变得更加重要和具有挑战性。
由于java语言的移植性比较强,具有很好的抽象和封装性,以及内存管理自动化、安全性高等特点,并且很多开源框架都很好的适用于java语言,如springboot、springcloud等,所以很多大型、复杂的程序都使用java进行开发。而随着业务复杂性增加,新增的业务需求需要较多的代码改动才能完成,导致新增功能的开发越来越困难,项目复杂度越来越高,即使很小的功能也需要停机重启服务才能达到效果,大大增加了项目迭代的难度,导致开发效率低。
发明内容
有鉴于此,本发明实施例提供一种数据处理方法、装置、电子设备和计算机可读介质,以解决项目迭代难度大、开发效率低的技术问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据处理方法,包括:
接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息;根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息;将所述接口注册信息返回至所述客户端;
接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑;
接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,根据所述脚本标识匹配出对应的业务脚本;执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
可选地,接收客户端发送的接口查询请求之前,还包括:
接收各个业务模块发送的接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能;
注册所述各个业务模型的各个接口,从而生成接口注册列表。
可选地,每个业务模块对外提供至少一个接口,一个接口对应于一个业务模块的一个功能。
可选地,所述业务模块对外提供的接口为RESTfull接口,以使所述服务端通过RESTfull协议调用所述RESTfull接口;或者,将所述业务模块打包成jar包,以使所述服务端采用引用所述jar包的方式调用所述接口。
可选地,基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理,包括:
调用接口并将所述业务参数作为所述接口的入参,从而得到所述接口的调用结果;
根据所述业务脚本中定义的业务处理逻辑对所述接口的调用结果进行业务处理,从而得到业务处理结果;
调用下一个接口并将所述业务处理结果作为所述下一个接口的入参,从而得到所述下一个接口的调用结果。
可选地,所述业务脚本为python脚本;
执行所述业务脚本,包括:通过python解释器执行所述python脚本。
另外,根据本发明实施例的另一个方面,提供了一种数据处理装置,包括:
查询模块,用于接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息;根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息;将所述接口注册信息返回至所述客户端;
脚本模块,用于接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑;
执行模块,用于接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,根据所述脚本标识匹配出对应的业务脚本;执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
可选地,还包括注册模块,用于:
接收各个业务模块发送的接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能;
注册所述各个业务模型的各个接口,从而生成接口注册列表。
可选地,每个业务模块对外提供至少一个接口,一个接口对应于一个业务模块的一个功能。
可选地,所述业务模块对外提供的接口为RESTfull接口,以使所述服务端通过RESTfull协议调用所述RESTfull接口;或者,将所述业务模块打包成jar包,以使所述服务端采用引用所述jar包的方式调用所述接口。
可选地,所述执行模块还用于:
调用接口并将所述业务参数作为所述接口的入参,从而得到所述接口的调用结果;
根据所述业务脚本中定义的业务处理逻辑对所述接口的调用结果进行业务处理,从而得到业务处理结果;
调用下一个接口并将所述业务处理结果作为所述下一个接口的入参,从而得到所述下一个接口的调用结果。
可选地,所述业务脚本为python脚本;
执行所述业务脚本,包括:通过python解释器执行所述python脚本。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现上述任一实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用接收并存储客户端上传的业务脚本,业务脚本定义了各个接口的调用顺序和业务处理逻辑,接收业务系统发送的数据处理请求,数据处理请求携带脚本标识和业务参数,根据脚本标识匹配出对应的业务脚本从而执行业务脚本的技术手段,所以克服了现有技术中项目迭代难度大、开发效率低的技术问题。本发明实施例将原有业务模块的核心功能以接口形式提供,开发人员只需要根据新增需求编写调用接口的脚本即可,而且不需要重新上版本、也不需要重启服务,从而降低了新增需求的开发难度、提高了新增需求的开发效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是根据本发明实施例的数据处理方法的流程图;
图2是实现本发明实施例的数据处理方法的系统架构图;
图3是根据本发明一个可参考实施例的数据处理方法的流程图;
图4是根据本发明另一个可参考实施例的数据处理方法的流程图;
图5是根据本发明实施例的数据处理装置的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本发明的技术方案中,所涉及的用户个人信息的采集、分析、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法且合理的用途,不在这些合法使用等方面之外共享、泄露或出售,并且接受监管部门的监督管理。应当对用户个人信息采取必要措施,以防止对此类个人信息数据的非法访问,确保有权访问个人信息数据的人员遵守相关法律法规的规定,确保用户个人信息安全。一旦不再需要这些用户个人信息数据,应当通过限制甚至禁止数据收集和/或删除数据的方式将风险降至最低。
当适用时,包括在某些相关应用程序中,通过对数据去标识来保护用户隐私,例如在适用时通过移除特定标识符(例如,姓名、账号、性别、出生日期等)、控制所存储数据的量或特异性、控制数据如何被存储、和/或其他方法去标识。
图1是根据本发明实施例的数据处理方法的流程图。作为本发明的一个实施例,如图1所示,所述数据处理方法应用于服务端,可以包括:
步骤101,接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息;根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息;将所述接口注册信息返回至所述客户端。
如图2所示,原有项目包括数据库集群和各个业务模块,而且原有项目采用java开发,本发明实施例对原有项目进行改造,在原有项目基础上增加服务端和客户端,原有项目中的各个业务模块需要将本业务模块中的核心功能(比如数据分析功能、数据采集功能、数据存储功能等)以接口形式暴露出去,服务端调用业务模块提供的接口(比如数据分析接口、数据采集接口、数据存储接口等),从而对数据进行处理。需要说明的是,原有项目可以采用多模块部署,也可以采用单模块部署,本发明实施例对此不作限制。
可选地,接收客户端发送的接口查询请求之前,还包括:接收各个业务模块发送的接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能;注册所述各个业务模型的各个接口,从而生成接口注册列表。如图2所示,原有项目中的各个业务模块向服务端发送接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能,服务端接收到业务模块发送的接口注册请求后,对其进行解析,然后注册业务模块的接口,从而生成接口注册列表,接口注册列表中记录有各个注册成功的接口的入参、出参、类名、方法名和功能。
接口注册成功后,客户端可以向服务端发送接口查询请求,所述接口查询请求携带接口查询信息,所述接口查询信息可以是类名和/或方法名,服务端接收到客户端发送的接口查询请求后,根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息,然后将查询到的接口注册信息返回至客户端。开发人员通过客户端页面查看服务端返回的接口注册信息,从而根据接口注册信息编写业务脚本。
可选地,每个业务模块对外提供至少一个接口,一个接口对应于一个业务模块的一个功能。在本发明的实施例中,每个业务模块可以有多个功能,业务模块将每个功能以接口形式暴露出去并注册到服务端,以便于在后续步骤中服务端调用业务模块的接口,而且利于维护和开发。
可选地,所述业务模块对外提供的接口为RESTfull接口,以使所述服务端通过RESTfull协议调用所述RESTfull接口;或者,将所述业务模块打包成jar包,以使所述服务端采用引用所述jar包的方式调用所述接口。在本发明的一些实施例中,原有项目中的业务模块对外提供的接口为RESTfull接口,因此执行业务脚本时,服务端通过RESTfull协议调用业务模块提供的RESTfull接口。在本发明的一些实施例中,可以将原有项目中的业务模块打包成jar包,因此执行业务脚本时,服务端采用引用jar包的方式调用业务模块提供的接口。
步骤102,接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑。
开发人员可以通过客户端页面查看服务端返回的接口注册信息,从而根据接口注册信息编写业务脚本。完成脚本编写后,开发人员通过客户端将编写的业务脚本上传至服务端,服务端接收客户端上传的业务脚本后,存储该业务脚本,其中,该业务脚本定义了各个接口的调用顺序和业务处理逻辑。需要说明的是,客户端可以根据实际需要上传多个业务脚本,本发明实施例对此不作限制。
可选地,所述业务脚本为python脚本。python作为一种解释性语言,语法简洁易懂,并且有强大的第三方库支持,可以直接在python解释器中执行,更方便开发和调试。开发人员可以根据实际需要随时编写python脚本并上传python脚本。后期迭代更新中,可以通过修改python脚本完成开发,而无需经过繁琐的java项目编译、上线、重启服务等操作。因此,本发明实施例通过引入python语言解决目前行业内大型java老旧项目迭代慢、迭代困难、开发效率低等技术问题。
步骤103,接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,根据所述脚本标识匹配出对应的业务脚本;执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
服务端接收上游业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,接着服务端根据脚本标识匹配出对应的python脚本,然后执行python脚本,以执行如下步骤:基于数据处理请求中携带的业务参数并根据python脚本中定义的各个接口的调用顺序依次调用各个接口,并根据各个接口的调用结果进行业务处理。
可选地,执行所述业务脚本,包括:通过python解释器执行所述python脚本。在本发明的实施例中,需要预先在服务端安装python解释器,因此在步骤103中通过python解释器执行python脚本。
需要说明的是,由于业务脚本定义了各个接口的调用顺序和业务处理逻辑,因此执行业务脚本时就会执行相应的数据处理步骤。具体地,执行业务脚本时,基于数据处理请求中携带的业务参数并根据业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据各个接口的调用结果进行业务处理。
可选地,基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理,包括:调用接口并将所述业务参数作为所述接口的入参,从而得到所述接口的调用结果;根据所述业务脚本中定义的业务处理逻辑对所述接口的调用结果进行业务处理,从而得到业务处理结果;调用下一个接口并将所述业务处理结果作为所述下一个接口的入参,从而得到所述下一个接口的调用结果。
在本发明的一些实施例中,根据业务脚本中定义的各个接口的调用顺序调用接口,并将数据处理请求中携带的业务参数作为该接口的入参,从而得到该接口的调用结果,接着调用下一个接口并将接口的调用结果作为下一个接口的入参,从而得到下一个接口的调用结果,以此类推,直到调用最后一个接口。
在本发明的一些实施例中,根据业务脚本中定义的各个接口的调用顺序调用接口,并将数据处理请求中携带的业务参数作为该接口的入参,从而得到该接口的调用结果,然后根据业务脚本中定义的业务处理逻辑对该接口的调用结果进行业务处理,接着调用下一个接口并将业务处理结果作为下一个接口的入参,从而得到下一个接口的调用结果。
在本发明的一些实施例中,根据业务脚本中定义的业务处理逻辑对数据处理请求中携带的业务参数进行业务处理,然后根据业务脚本中定义的各个接口的调用顺序调用接口,并将业务处理结果作为该接口的入参,从而得到该接口的调用结果,接着调用下一个接口并将该接口的调用结果作为下一个接口的入参,从而得到下一个接口的调用结果。
需要说明的是,根据业务脚本的定义,可以调用一个或者多个接口。但是,通常来说,最后一个接口是数据存储接口。
根据上面所述的各种实施例,可以看出本发明实施例通过接收并存储客户端上传的业务脚本,业务脚本定义了各个接口的调用顺序和业务处理逻辑,接收业务系统发送的数据处理请求,数据处理请求携带脚本标识和业务参数,根据脚本标识匹配出对应的业务脚本从而执行业务脚本的技术手段,解决了现有技术中项目迭代难度大、开发效率低的技术问题。本发明实施例将原有业务模块的核心功能以接口形式提供,开发人员只需要根据新增需求编写调用接口的脚本即可,而且不需要重新上版本、也不需要重启服务,从而降低了新增需求的开发难度、提高了新增需求的开发效率。
图3是根据本发明一个可参考实施例的数据处理方法的流程图。作为本发明的又一个实施例,如图3所示,所述数据处理方法应用于服务端,可以包括:
步骤301,接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息。
步骤302,根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息。
步骤303,将所述接口注册信息返回至所述客户端。
客户端可以向服务端发送接口查询请求,所述接口查询请求携带接口查询信息,所述接口查询信息可以是类名和/或方法名,服务端接收到客户端发送的接口查询请求后,根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息,然后将查询到的接口注册信息返回至客户端。
在步骤301之前,原有项目中的各个业务模块向服务端发送接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能,服务端接收到业务模块发送的接口注册请求后,对其进行解析,然后注册业务模块的接口,从而生成接口注册列表,接口注册列表中记录有各个注册成功的接口的入参、出参、类名、方法名和功能。
可选地,每个业务模块对外提供至少一个接口,一个接口对应于一个业务模块的一个功能。在本发明的一些实施例中,原有项目中的业务模块对外提供的接口为RESTfull接口,因此执行业务脚本时,服务端通过RESTfull协议调用业务模块提供的RESTfull接口。在本发明的一些实施例中,可以将原有项目中的业务模块打包成jar包,因此执行业务脚本时,服务端采用引用jar包的方式调用业务模块提供的接口。
步骤304,接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑。
开发人员可以通过客户端页面查看服务端返回的接口注册信息,从而根据接口注册信息编写业务脚本。完成脚本编写后,开发人员通过客户端将编写的业务脚本上传至服务端,服务端接收客户端上传的业务脚本后,存储该业务脚本,其中,该业务脚本定义了各个接口的调用顺序和业务处理逻辑。
步骤305,接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数。
步骤306,根据所述脚本标识匹配出对应的业务脚本。
步骤307,执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
服务端接收上游业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,接着服务端根据脚本标识匹配出对应的python脚本,然后执行python脚本,以执行如下步骤:基于数据处理请求中携带的业务参数并根据python脚本中定义的各个接口的调用顺序依次调用各个接口,并根据各个接口的调用结果进行业务处理。
另外,在本发明一个可参考实施例中数据处理方法的具体实施内容,在上面所述数据处理方法中已经详细说明了,故在此重复内容不再说明。
图4是根据本发明另一个可参考实施例的数据处理方法的流程图。作为本发明的又一个实施例,如图4所示,所述数据处理方法应用于服务端,可以包括:
步骤401,接收各个业务模块发送的接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能。
步骤402,注册所述各个业务模型的各个接口,从而生成接口注册列表。
原有项目中的各个业务模块向服务端发送接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能,服务端接收到业务模块发送的接口注册请求后,对其进行解析,然后注册业务模块的接口,从而生成接口注册列表,接口注册列表中记录有各个注册成功的接口的入参、出参、类名、方法名和功能。
在本发明的实施例中,原有项目包括数据库集群和各个业务模块,而且原有项目采用java开发,本发明实施例对原有项目进行改造,在原有项目基础上增加服务端和客户端,原有项目中的各个业务模块需要将本业务模块中的核心功能(比如数据分析功能、数据采集功能、数据存储功能等)以接口形式暴露出去,服务端调用业务模块提供的接口(比如数据分析接口、数据采集接口、数据存储接口等),从而对数据进行处理。
步骤403,接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息。
步骤404,根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息。
步骤405,将所述接口注册信息返回至所述客户端。
步骤406,接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑。
可选地,所述业务脚本为python脚本。python作为一种解释性语言,语法简洁易懂,并且有强大的第三方库支持,可以直接在python解释器中执行,更方便开发和调试。开发人员可以根据实际需要随时编写python脚本并上传python脚本。后期迭代更新中,可以通过修改python脚本完成开发,而无需经过繁琐的java项目编译、上线、重启服务等操作。因此,本发明实施例通过引入python语言解决目前行业内大型java老旧项目迭代慢、迭代困难、开发效率低等技术问题。
例如,原有需求为:结构化数据表中字段[RESULT]值由原始字段[VALUE1]和[VALUE2]相加得到,而新增需求为:结构化数据表[RESULT]值改为原始字段[VALUE1]和[VALUE2]相加后再加一个固定值[VAL]得到。如果采用原有项目处理,则需要java代码中[RESULT]字段的处理逻辑,再经过编译、打包、上线、服务重启、功能验证等一系列操作;而采用python脚本编写逻辑,原始字段[VALUE1]和[VALUE2]相加结果可以直接调用业务模块对外提供的接口得到,因此只需要将python脚本进行简单的[RESULT]字段逻辑修改即可,下次数据处理便可生效,省去很多迭代成本。
步骤407,接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数。
步骤408,根据所述脚本标识匹配出对应的业务脚本。
步骤409,执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
另外,在本发明另一个可参考实施例中数据处理方法的具体实施内容,在上面所述数据处理方法中已经详细说明了,故在此重复内容不再说明。
图5是根据本发明实施例的数据处理装置的示意图。如图5所示,所述数据处理装置500包括查询模块501、脚本模块502和执行模块503;其中,查询模块501用于接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息;根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息;将所述接口注册信息返回至所述客户端;脚本模块502用于接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑;执行模块503用于接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,根据所述脚本标识匹配出对应的业务脚本;执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
可选地,还包括注册模块,用于:
接收各个业务模块发送的接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能;
注册所述各个业务模型的各个接口,从而生成接口注册列表。
可选地,每个业务模块对外提供至少一个接口,一个接口对应于一个业务模块的一个功能。
可选地,所述业务模块对外提供的接口为RESTfull接口,以使所述服务端通过RESTfull协议调用所述RESTfull接口;或者,将所述业务模块打包成jar包,以使所述服务端采用引用所述jar包的方式调用所述接口。
可选地,所述执行模块503还用于:
调用接口并将所述业务参数作为所述接口的入参,从而得到所述接口的调用结果;
根据所述业务脚本中定义的业务处理逻辑对所述接口的调用结果进行业务处理,从而得到业务处理结果;
调用下一个接口并将所述业务处理结果作为所述下一个接口的入参,从而得到所述下一个接口的调用结果。
可选地,所述业务脚本为python脚本;
执行所述业务脚本,包括:通过python解释器执行所述python脚本。
需要说明的是,在本发明所述数据处理装置的具体实施内容,在上面所述数据处理方法中已经详细说明了,故在此重复内容不再说明。
图6示出了可以应用本发明实施例的数据处理方法或数据处理装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的物品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的数据处理方法一般由服务器605执行,相应地,所述数据处理装置一般设置在服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括查询模块、脚本模块和执行模块,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,该设备实现如下方法:接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息;根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息;将所述接口注册信息返回至所述客户端;接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑;接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,根据所述脚本标识匹配出对应的业务脚本;执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
作为另一方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。
根据本发明实施例的技术方案,因为采用接收并存储客户端上传的业务脚本,业务脚本定义了各个接口的调用顺序和业务处理逻辑,接收业务系统发送的数据处理请求,数据处理请求携带脚本标识和业务参数,根据脚本标识匹配出对应的业务脚本从而执行业务脚本的技术手段,所以克服了现有技术中项目迭代难度大、开发效率低的技术问题。本发明实施例将原有业务模块的核心功能以接口形式提供,开发人员只需要根据新增需求编写调用接口的脚本即可,而且不需要重新上版本、也不需要重启服务,从而降低了新增需求的开发难度、提高了新增需求的开发效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种数据处理方法,其特征在于,应用于服务端,包括:
接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息;根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息;将所述接口注册信息返回至所述客户端;
接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑;
接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,根据所述脚本标识匹配出对应的业务脚本;执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
2.根据权利要求1所述的方法,其特征在于,接收客户端发送的接口查询请求之前,还包括:
接收各个业务模块发送的接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能;
注册所述各个业务模型的各个接口,从而生成接口注册列表。
3.根据权利要求2所述的方法,其特征在于,每个业务模块对外提供至少一个接口,一个接口对应于一个业务模块的一个功能。
4.根据权利要求3所述的方法,其特征在于,所述业务模块对外提供的接口为RESTfull接口,以使所述服务端通过RESTfull协议调用所述RESTfull接口;或者,将所述业务模块打包成jar包,以使所述服务端采用引用所述jar包的方式调用所述接口。
5.根据权利要求1所述的方法,其特征在于,基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理,包括:
调用接口并将所述业务参数作为所述接口的入参,从而得到所述接口的调用结果;
根据所述业务脚本中定义的业务处理逻辑对所述接口的调用结果进行业务处理,从而得到业务处理结果;
调用下一个接口并将所述业务处理结果作为所述下一个接口的入参,从而得到所述下一个接口的调用结果。
6.根据权利要求1所述的方法,其特征在于,所述业务脚本为python脚本;
执行所述业务脚本,包括:通过python解释器执行所述python脚本。
7.一种数据处理装置,其特征在于,包括:
查询模块,用于接收客户端发送的接口查询请求,所述接口查询请求携带接口查询信息;根据所述接口查询信息查询接口注册列表,从而匹配出所述接口查询信息对应的接口注册信息;将所述接口注册信息返回至所述客户端;
脚本模块,用于接收并存储所述客户端上传的业务脚本,所述业务脚本定义了各个接口的调用顺序和业务处理逻辑;
执行模块,用于接收业务系统发送的数据处理请求,所述数据处理请求携带脚本标识和业务参数,根据所述脚本标识匹配出对应的业务脚本;执行所述业务脚本,以执行如下步骤:基于所述业务参数并根据所述业务脚本中定义的各个接口的调用顺序依次调用所述各个接口,并根据所述各个接口的调用结果进行业务处理。
8.根据权利要求7所述的装置,其特征在于,还包括注册模块,用于:
接收各个业务模块发送的接口注册请求,所述接口注册请求携带接口注册信息,所述接口注册信息包括接口的入参、出参、类名、方法名和功能;
注册所述各个业务模型的各个接口,从而生成接口注册列表。
9.根据权利要求8所述的装置,其特征在于,每个业务模块对外提供至少一个接口,一个接口对应于一个业务模块的一个功能。
10.根据权利要求9所述的装置,其特征在于,所述业务模块对外提供的接口为RESTfull接口,以使所述服务端通过RESTfull协议调用所述RESTfull接口;或者,将所述业务模块打包成jar包,以使所述服务端采用引用所述jar包的方式调用所述接口。
11.根据权利要求7所述的装置,其特征在于,所述执行模块还用于:
调用接口并将所述业务参数作为所述接口的入参,从而得到所述接口的调用结果;
根据所述业务脚本中定义的业务处理逻辑对所述接口的调用结果进行业务处理,从而得到业务处理结果;
调用下一个接口并将所述业务处理结果作为所述下一个接口的入参,从而得到所述下一个接口的调用结果。
12.根据权利要求7所述的装置,其特征在于,所述业务脚本为python脚本;
执行所述业务脚本,包括:通过python解释器执行所述python脚本。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311113625.4A CN117194073A (zh) | 2023-08-31 | 2023-08-31 | 数据处理方法、装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311113625.4A CN117194073A (zh) | 2023-08-31 | 2023-08-31 | 数据处理方法、装置、电子设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117194073A true CN117194073A (zh) | 2023-12-08 |
Family
ID=88993469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311113625.4A Pending CN117194073A (zh) | 2023-08-31 | 2023-08-31 | 数据处理方法、装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117194073A (zh) |
-
2023
- 2023-08-31 CN CN202311113625.4A patent/CN117194073A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590186B (zh) | 管理和执行数据处理策略的方法和策略引擎系统 | |
CN112148711B (zh) | 一种批处理任务的处理方法和装置 | |
CN111666293A (zh) | 数据库访问方法和装置 | |
CN115509522A (zh) | 面向低代码场景的接口编排方法、系统、电子设备 | |
CN113360377B (zh) | 一种测试方法和装置 | |
CN109981546B (zh) | 获取应用模块间的远程调用关系的方法和装置 | |
CN110764769B (zh) | 处理用户请求的方法和装置 | |
CN112559024A (zh) | 一种生成交易码变更列表的方法和装置 | |
CN116775613A (zh) | 一种数据迁移方法、装置、电子设备及计算机可读介质 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN113127335A (zh) | 一种系统测试的方法和装置 | |
CN117194073A (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
CN113760274B (zh) | 一种前端组件逻辑注入方法和装置 | |
CN113760240B (zh) | 一种生成数据模型的方法和装置 | |
CN109901934A (zh) | 生成接口帮助文档的方法和装置 | |
CN113742235A (zh) | 一种校验代码的方法和装置 | |
CN116263690A (zh) | 虚拟机从外部系统读取数据及相关写出数据的方法和装置 | |
CN112783903B (zh) | 生成更新日志的方法和装置 | |
CN113779018A (zh) | 一种数据处理方法和装置 | |
CN106570143B (zh) | 一种发送响应对象的方法和装置 | |
CN113495747B (zh) | 一种灰度发布方法和装置 | |
CN113688152B (zh) | 一种系统功能自校验方法和装置 | |
CN117093286B (zh) | 插件生成方法、装置、设备及计算机可读存储介质 | |
CN110727739B (zh) | 一种数据存储的方法和装置 | |
CN111736805B (zh) | 一种处理Excel表格的方法和装置 |
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 |