[发明专利]一种轻量级服务化软件运行框架在审
申请号: | 202310071701.3 | 申请日: | 2023-01-17 |
公开(公告)号: | CN116166227A | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 周亮;王冠;陈龙震;肖荣辉;王子晔 | 申请(专利权)人: | 中国航空无线电电子研究所 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F9/54 |
代理公司: | 上海和跃知识产权代理事务所(普通合伙) 31239 | 代理人: | 杨慧 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 服务 软件 运行 框架 | ||
1.一种轻量级服务化软件运行框架,包括:服务调用管理模块、服务对象管理模块、序列化模块、数据传输模块,该四个模块同时服务于服务软件和调用软件,其特征在于远程调用过程为:
首先在调用软件方,服务对象管理模块根据调用软件提出的服务发现请求的服务名称,从本地数据库中匹配相同的服务实例数据,并返回服务的网络位置信息,如匹配失败,则本次调用提前终止,并返回失败;数据传输模块根据网络位置信息与提供服务方所在节点上的数据传输模块建立TCP长链接数据通道;服务调用管理模块将服务调用信息打包并通过序列化模块进行序列化得到调用数据字节流,继而由TCP长链接发送至提供服务方;
然后在服务软件方,数据传输模块接收到调用数据字节流后,由序列化模块将调用数据字节流反序列化为相应结构的服务调用信息,并推入调用请求队列;服务调用管理模块读取请求队列,启动服务处理线程池;服务处理线程负责回调服务处理函数,如服务处理存在服务回复数据,则服务调用管理模块调用序列化模块,序列化模块对服务回复数据进行序列化得到回复数据字节流,继而由原TCP长链接发送至调用软件方;
最后在调用软件方,数据传输模块接收到回复数据字节流数据后,由序列化模块反序列化解析为调用软件可识别的数据结构,形成远程调用的返回值。
2.根据权利要求1所述的一种轻量级服务化软件运行框架,其特征在于序列化模块采用复用Apache-Thrift技术,包括配套的IDL规范和IDL编译器。
3.根据权利要求1所述的一种轻量级服务化软件运行框架,其特征在于服务软件启动后,服务调用管理模块在服务于服务软件时,完成本地服务实例构建工作,并向服务对象管理模块注册服务基础信息;服务对象管理模块在服务于服务软件时负责监控服务实例的运行状态,将多组服务运行信息组成服务运行信息报文并周期上报给网络中其它节点上的服务调用管理模块;数据传输模块在服务于服务软件时提供UDP组播方式将服务运行信息报文向各个节点发布。
4.根据权利要求1所述的一种轻量级服务化软件运行框架,其特征在于数据传输模块在服务于调用软件时从网络上接收服务运行信息报文;服务调用管理模块在服务于调用软件时,负责收集调用软件所需的服务对象名称,并注册给服务对象管理模块;服务对象管理模块在服务于调用软件时负责从服务运行信息报文中接收并标记已注册的服务对象运行信息存入本地数据库中。
5.根据权利要求4所述的一种轻量级服务化软件运行框架,其特征在于服务对象管理模块在接收到服务运行信息报文后处理过程如下:
第一步,解析服务运行信息报文中服务名称信息,并匹配初始化阶段注册的本地所需服务列表,如未匹配,则代表该服务运行信息没有价值,服务运行信息报文可丢弃;
第二步,解析服务运行信息报文中服务的网络位置信息,并匹配本地的服务实例数据库,是否已存在相同服务实例,如未匹配则新建服务实例数据表,否则更新已有的数据表;
第三步,重置服务实例数据表中的心跳计数,收到新的服务运行信息,代表服务状态正常;
第四步,周期定时器触发检查每一个服务实例数据表中的心跳计数是否存在超时情形,如存在,则将服务状态标记为离线,被标记为离线的服务实例将无法在服务发现流程中被使用。
6.根据权利要求1所述的一种轻量级服务化软件运行框架,其特征在于服务调用管理模块、服务对象管理模块、序列化模块、数据传输模块以开发包的方式支撑服务化软件的开发工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空无线电电子研究所,未经中国航空无线电电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310071701.3/1.html,转载请声明来源钻瓜专利网。