基于Json-RPC的异步数据处理系统及其子系统间通讯方法技术方案

技术编号:37468929 阅读:11 留言:0更新日期:2023-05-06 09:46
本发明专利技术涉及一种基于Json

【技术实现步骤摘要】
基于Json

RPC的异步数据处理系统及其子系统间通讯方法


[0001]本专利技术涉及数据处理通信
,尤其是涉及一种基于Json

RPC的异步数据处理系统及其子系统间通讯方法。

技术介绍

[0002]大数据时代,由于人类社会活动产生的海量数据,人们迫切的需要从中找寻一些有助于人类活动的价值性东西。数据挖掘、处理和分析技术在各行业发挥着重要作用。数据处理平台就是通过大量数据集进行分类的自动化过程,以通过数据分析来识别趋势和模式,建立关系来解决业务问题。随着数据资源的爆炸性增长,数据处理平台不仅成为政府部门提高治理能力的重要手段,而且成为提升各行业核心竞争力的关键。
[0003]Java Web是用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP、第三方框架等等。Java技术对Web领域的发展注入了强大的动力,也成为搭建在线数据处理平台的主要技术栈。
[0004]Java Web后端系统与其他系统之间有多种通讯方式,比如Socket,RPC,RESTful等等。其中socket通讯可以满足简单通信要求,如果涉及到复杂对象,会丢失很多类型信息,而RESTFUL API虽然很流行,但实际上HTTP并不是子系统之间级联最理想的协议,HTTP是单向的协议,难以从后端主动推送消息到前端,有太多没有用的复杂功能,就算已经有很多RESTFUL API框架,开发起来仍然很复杂;RPC的思想是把本地函数映射到API,也就是说一个API对应的是一个function,然后远程能通过某种约定的协议来调用相应的function。至于这个协议是Socket、是HTTP还是别的什么并不重要;但是在互联网时代使用普遍使用的基于文本和基于二进制协议的现在,WEB服务针对数据处理平台使用的几种通讯方式需要单独开发接口,在使用上造成了一定的不便,且在数据处理的时效性和效率上还有待提高。

技术实现思路

[0005]本专利技术的目的就是为了提供一种基于Json

RPC的异步数据处理系统及其子系统间通讯方法,无需单独开发接口,使用方便,且能提高数据处理的时效性和响应速度。
[0006]本专利技术的目的可以通过以下技术方案来实现:
[0007]一种基于Json

RPC的异步数据处理系统,包括:
[0008]算法端、数据库、Java后端和Web前端,所述算法端包括Python算法模块和RPC服务端模块,与Java后端结合基于Json格式进行数据和请求调用;所述Java后端包括RPC客户端模块和Java后端服务模块;所述数据库包括关系型数据库Mysql和key

value型的Redis,用于数据存储和平台登录验证;所述Web前端用于用户导入、导出和调用数据处理指令。
[0009]一种基于Json

RPC的异步数据处理系统的子系统间通讯方法,基于如上述所述的异步数据处理系统实现,包括以下步骤:
[0010]S1:Web前端请求数据处理;
[0011]S2:Java后端服务模块异步调用RPC客户端模块,并立即响应Web前端;
[0012]S3:RPC客户端模块请求RPC服务端模块;
[0013]S4:RPC服务端模块调用Python算法模块进行数据处理,处理结束后将结果存储至数据库中;
[0014]S5:Java后端接收RPC服务端模块响应,并基于WebSocket推送实时处理消息到Web前端;
[0015]S6:Web前端可视化显示数据处理结果。
[0016]所述步骤S1包括以下步骤:
[0017]S11:开启Web前端服务功能,配置前端服务参数;
[0018]S12:配置Python算法类型、算法参数及数据;
[0019]S13:Web前端发送数据处理请求指令并且建立与Java后端的WebSocket连接,用于后端实时向前端推送数据。
[0020]所述前端服务参数包括验证码、用户名及密码,所述验证码、用户名及密码用于用户登录异步数据处理系统时对登录用户进行身份验证。
[0021]所述步骤S2具体为:
[0022]开启Java后端服务模块的服务功能,配置Redis和Mysql的数据库参数,异步提交数据处理请求到RPC客户端模块;若提交成功,则响应成功状态码返回给Web前端显示;若提交失败,则Web前端弹出异常提醒。
[0023]所述数据库参数包括用户名及密码,用于后端与数据库建立连接,实现数据导入,导出和实时存储。
[0024]所述步骤S3具体为:
[0025]开启RPC客户端服务功能,待Java后端服务成功提交异步数据处理请求后,判断RPC客户端模块是否成功接收,若接收成功,则构造Json

RPC请求,请求调用RPC服务端模块;若接收失败,则Web前端弹出异常提醒,其中,所述Json

RPC请求使用json格式发送数据处理函数调用名、随机ID、参数至RPC服务端。
[0026]所述步骤S4具体为:
[0027]S41:开启Python算法模块的RPC服务功能,配置RPC服务端模块参数;
[0028]S42:RPC服务端模块接收RPC客户端模块发送的Json格式字符串,进行解析,获取调用指令、算法参数,并判断调用是否合法;
[0029]S43:RPC服务端调用Python算法模块的相应数据处理函数进行数据处理,若数据处理成功,则将数据结果存储到数据库中,用于Web前端和Java后端调用和展示。
[0030]所述RPC服务端模块参数包括请求Path和端口号,用于接收RPC客户端发起的请求。
[0031]所述步骤S5包括以下步骤:
[0032]S51:Java后端接收RPC服务端模块发送的Json格式字符串,进行解析,获取数据处理状态和结果;
[0033]S52:Java后端基于Websocket进行消息广播,推送实时处理消息到Web前端,所述消息广播是扫描所有Web前端的用户连接,分别进行实时处理消息推送。
[0034]与现有技术相比,本专利技术具有以下有益效果:
[0035](1)本专利技术的Java后端和Python算法模块之间使用Json

RPC协议进行通讯,实现双向调用,其传递内容为Json格式数据,可以提供简单的数据解析、数据处理调用和数据传输效率,并在一定程度上能够对信息进行验证。
[0036](2)本专利技术的Java后端通过解析Python算法端返回的Json格式数据,通过Websocket协议实时消息广播,实时响应数据处理状态,提高了数据处理的时效性。
[0037](3)本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Json

RPC的异步数据处理系统,其特征在于,包括:算法端、数据库、Java后端和Web前端,所述算法端包括Python算法模块和RPC服务端模块,与Java后端结合基于Json格式进行数据和请求调用;所述Java后端包括RPC客户端模块和Java后端服务模块;所述数据库包括关系型数据库Mysql和key

value型的Redis,用于数据存储和平台登录验证;所述Web前端用于用户导入、导出和调用数据处理指令。2.一种基于Json

RPC的异步数据处理系统的子系统间通讯方法,其特征在于,基于如权利要求1所述的异步数据处理系统实现,包括以下步骤:S1:Web前端请求数据处理;S2:Java后端服务模块异步调用RPC客户端模块,并立即响应Web前端;S3:RPC客户端模块请求RPC服务端模块;S4:RPC服务端模块调用Python算法模块进行数据处理,处理结束后将结果存储至数据库中;S5:Java后端接收RPC服务端模块响应,并基于WebSocket推送实时处理消息到Web前端;S6:Web前端可视化显示数据处理结果。3.根据权利要求2所述的一种基于Json

RPC的异步数据处理系统的子系统间通讯方法,其特征在于,所述步骤S1包括以下步骤:S11:开启Web前端服务功能,配置前端服务参数;S12:配置Python算法类型、算法参数及数据;S13:Web前端发送数据处理请求指令并且建立与Java后端的WebSocket连接,用于后端实时向前端推送数据。4.根据权利要求3所述的一种基于Json

RPC的异步数据处理系统的子系统间通讯方法,其特征在于,所述前端服务参数包括验证码、用户名及密码,所述验证码、用户名及密码用于用户登录异步数据处理系统时对登录用户进行身份验证。5.根据权利要求2所述的一种基于Json

RPC的异步数据处理系统的子系统间通讯方法,其特征在于,所述步骤S2具体为:开启Java后端服务模块的服务功能,配置Redis和Mysql的数据库参数,异步提交数据处理请求到RPC客户端模块;若提交成功,则响应成功状态码返回...

【专利技术属性】
技术研发人员:严怀成张海文俞睿刘其纬吴宗华王浩源陈强李郅辰田永笑王曰英常玉芳张皓
申请(专利权)人:华东理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1