当前位置: 首页 > 专利查询>程延辉专利>正文

一种新旧代码共同运行的kbroker分布式操作系统技术方案

技术编号:24035091 阅读:20 留言:0更新日期:2020-05-07 01:40
本发明专利技术属于服务器端的软件开发和运维系统。kbroker分布式操作系统提供了一种对服务器集群的维护和开发架构,但其并没有提供针对现有代码如何迁移到其上运行的处理方案,本发明专利技术就是在kbroker分布式操作系统的基础上提供一种针对将现有代码迁移到kbroker分布式系统上与在其上开发的新代码一起运行的处理方法,使得可以在少量修改的情况下迁移原有代码到kbroker分布式系统上运行,当然也相应提供了一种在传统开发方式下开发kbroker分布式操作系统上应用程序的方法。在本发明专利技术的支持下可以极大提升kbroker分布式操作系统的适用范围和降低使用难度。

A kbroker distributed operating system with new and old code running together

【技术实现步骤摘要】
一种新旧代码共同运行的kbroker分布式操作系统
本专利技术涉及服务器端的软件开发和运维系统领域,特别是涉及一种新旧代码共同运行的kbroker分布式操作系统。
技术介绍
鉴于kbroker分布式操作系统的开发方法虽然是最基础最传统的开发方法,但和现有服务端的开发方法并不相同,这就导致了现有大量已经开发的业务逻辑代码无法在kbroker分布式操作系统上运行,如果要将现有的业务迁移到kbroker分布式系统上运行就需要重写代码,这个迁移成本无疑是难以接受的;同时大家也一定程度上习惯了现有的开发方法,虽然改变并不是很难,但提供一种兼容现有开发方法的解决方案也是很有价值的;最后原有的开发方法下需要用到很多缓存和数据库之类的辅助组件,在运行时需要运维人员考虑这些辅助组件的灾备和监控等工作,而在kbroker分布式系统上这些工作都是由系统本身来提供的,如何在支持现有代码运行的同时对其使用到的辅助组件进行灾备支持也是需要考虑的。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种新旧代码共同运行的kbroker分布式操作系统,用于解决现有技术中的问题:第一,现有代码无法简单的迁移到kbroker分布式系统上运行。第二,开发者无法按照原来开发方法开发kbroker分布式系统上的应用程序。为解决上述技术问题,本专利技术是按如下方式实现的:一种新旧代码共同运行的kbroker分布式操作系统,其特征在于,包括:业务层模块,用于实现整个系统的业务逻辑;所述业务逻辑被拆分成若干个应用程序,每个应用程序包括与之对应的一组app_allocator模块和至少一组app_service模块;app_service模块,用于运行应用程序的app_object对象,对kbroker分布式操作系统内提供统一的接口访问在其上运行的app_object对象,并且对业务层提供访问kbroker分布式操作系统内其他app_object对象的接口;业务逻辑由运行在app_service模块上的业务层app_object对象的逻辑处理以及app_object对象之间的相互调用实现;app_allocator模块,用于管理应用程序逻辑运行所需的app_service模块的启动和关闭、app_object对象的创建和删除,并且管理和分配app_object对象在app_service模块运行;app_allocator模块将app_service模块进行分组,为每个分组设置分组编号,该分组编号为virtual_id编号,负责分组内app_service模块的主从灾备;kbroker_server模块,用于管理kbroker分布式操作系统中其所在的服务器,kbroker_server模块管理其所在服务器上的app_service模块、app_allocator模块和存储型资源;多个kbroker_server模块之间数据通信连接;kbroker_super模块,用于通过kbroker_server模块管理kbroker_server模块所在的服务器;通过kbroker_server模块管理kbroker分布式操作系统中的所有程序进程,并为每个程序进程设置进程编号program_id;管理业务层应用程序,并为每个业务层应用程序设置应用程序编号app_id;app_object对象由应用程序的app_id编号和应用程序上的对象object_id编号来标识;app_object对象的运行模式包括标准模式和扩展模式;标准模式用于新代码的编写和运行;在标准模式下,app_object对象运行在app_service模块的程序内部,通过app_service模块提供的内部接口与kbroker分布式操作系统进行数据交互;扩展模式用于老代码的运行;在扩展模式下,app_object对象的逻辑处理作为业务层独立执行程序运行在app_service模块外部,通过外部接口与app_service模块连接以实现相同kbroker分布式操作系统的数据交互。进一步地,存储型资源为用于保存数据防止kbroker分布式操作系统重启后丢失数据或临时保存数据的存储介质,存储型资源的部署方式包括在kbroker分布式系统内部署和在kbroker分布式系统外部署;当存储型资源的部署方式为在kbroker分布式系统内部署时,由kbroker_server模块负责创建在其所在的服务器上,由kbroker_super模块负责管理;当存储型资源部署方式为在kbroker分布式操作系统外部署时,提供访问接口给kbroker分布式系统内的应用程序进行调用。进一步地,app_allocator模块用于管理app_service模块的主从灾备,所有应用程序的app_service模块都支持主从灾备,将app_service模块不需要主从灾备的应用程序作为只有主没有从的特例处理;app_allocator模块将app_service模块进行分组,每个分组至少有一个app_service模块作为该分组的主app_service模块;每个分组还包括存在从app_service模块模式和不存在从app_service模块模式,所述存在从app_service模块模式为app_service模块需要主从灾备,所述不存在从app_service模块模式为app_service模块不需要主从灾备,并且app_allocator模块用于管理维护该分组内app_service模块的主从灾备;app_allocator模块分配app_object对象到具体分组的主app_service模块上运行,所有请求访问发送到该对应的主app_service模块上进行响应处理,需要主从灾备的从app_service模块由该分组的主app_service模块同步数据;当现有分组无法满足该应用程序的app_object对象的运行需要时,app_allocator模块用于创建新的分组和启动新分组内新的app_service模块。进一步地,app_allocator模块管理和分配app_object对象,app_allocator模块分配一个app_object对象在一个分组的主app_service模块上运行,并对系统内提供请求该app_object对象的路由信息接口;应用程序的app_object对象与app_service模块分组的关系包括关联关系和非关联关系;当应用程序的app_object对象与app_service模块分组的关系为关联关系时,应用程序的app_allocator模块保存object_id编号和virtual_id编号的关联关系、app_service模块分组与其分组内app_service模块的关联关系;启动该app_object对象时找到其关联virtual_id编号对应分组的主app_service模块进行启动和运行;创建app_object对象时先选择一个分组,然后保存obj本文档来自技高网...

【技术保护点】
1.一种新旧代码共同运行的kbroker分布式操作系统,其特征在于,包括:/n业务层模块,用于实现整个系统的业务逻辑;所述业务逻辑被拆分成若干个应用程序,每个应用程序包括与之对应的一组app_allocator模块和至少一组app_service模块;/napp_service模块,用于运行应用程序的app_object对象,对kbroker分布式操作系统内提供统一的接口访问在其上运行的app_object对象,并且对业务层提供访问kbroker分布式操作系统内其他app_object对象的接口;业务逻辑由运行在app_service模块上的业务层app_object对象的逻辑处理以及app_object对象之间的相互调用实现;/napp_allocator模块,用于管理应用程序逻辑运行所需的app_service模块的启动和关闭、app_object对象的创建和删除,并且管理和分配app_object对象在app_service模块运行;app_allocator模块将app_service模块进行分组,为每个分组设置分组编号virtual_id编号,负责分组内app_service模块的主从灾备;/nkbroker_server模块,用于管理kbroker分布式操作系统中其所在的服务器,kbroker_server模块管理其所在服务器上的app_service模块、app_allocator模块和存储型资源;多个kbroker_server模块之间数据通信连接;/nkbroker_super模块,用于通过kbroker_server模块管理kbroker_server模块所在的服务器;通过kbroker_server模块管理kbroker分布式操作系统中的所有程序进程,并为每个程序进程设置进程编号program_id;管理业务层应用程序,并为每个业务层应用程序设置应用程序编号app_id;/napp_object对象由应用程序的app_id编号和应用程序上的对象编号object_id编号来标识;app_object对象的运行模式包括标准模式和扩展模式;标准模式用于新代码的编写和运行;在标准模式下,app_object对象运行在app_service模块的程序内部,通过app_service模块提供的内部接口与kbroker分布式操作系统进行数据交互;扩展模式用于老代码的运行;在扩展模式下,app_object对象的逻辑处理作为业务层独立执行程序运行在app_service模块外部,通过外部接口与app_service模块连接以实现相同kbroker分布式操作系统的数据交互。/n...

【技术特征摘要】
1.一种新旧代码共同运行的kbroker分布式操作系统,其特征在于,包括:
业务层模块,用于实现整个系统的业务逻辑;所述业务逻辑被拆分成若干个应用程序,每个应用程序包括与之对应的一组app_allocator模块和至少一组app_service模块;
app_service模块,用于运行应用程序的app_object对象,对kbroker分布式操作系统内提供统一的接口访问在其上运行的app_object对象,并且对业务层提供访问kbroker分布式操作系统内其他app_object对象的接口;业务逻辑由运行在app_service模块上的业务层app_object对象的逻辑处理以及app_object对象之间的相互调用实现;
app_allocator模块,用于管理应用程序逻辑运行所需的app_service模块的启动和关闭、app_object对象的创建和删除,并且管理和分配app_object对象在app_service模块运行;app_allocator模块将app_service模块进行分组,为每个分组设置分组编号virtual_id编号,负责分组内app_service模块的主从灾备;
kbroker_server模块,用于管理kbroker分布式操作系统中其所在的服务器,kbroker_server模块管理其所在服务器上的app_service模块、app_allocator模块和存储型资源;多个kbroker_server模块之间数据通信连接;
kbroker_super模块,用于通过kbroker_server模块管理kbroker_server模块所在的服务器;通过kbroker_server模块管理kbroker分布式操作系统中的所有程序进程,并为每个程序进程设置进程编号program_id;管理业务层应用程序,并为每个业务层应用程序设置应用程序编号app_id;
app_object对象由应用程序的app_id编号和应用程序上的对象编号object_id编号来标识;app_object对象的运行模式包括标准模式和扩展模式;标准模式用于新代码的编写和运行;在标准模式下,app_object对象运行在app_service模块的程序内部,通过app_service模块提供的内部接口与kbroker分布式操作系统进行数据交互;扩展模式用于老代码的运行;在扩展模式下,app_object对象的逻辑处理作为业务层独立执行程序运行在app_service模块外部,通过外部接口与app_service模块连接以实现相同kbroker分布式操作系统的数据交互。


2.根据权利要求1所述的一种新旧代码共同运行的kbroker分布式操作系统,其特征在于,存储型资源为用于保存数据防止kbroker分布式操作系统重启后丢失数据或临时保存数据的存储介质,
存储型资源的部署方式包括在kbroker分布式系统内部署和在kbroker分布式系统外部署;当存储型资源的部署方式为在kbroker分布式系统内部署时,由kbroker_server模块负责创建在其所在的服务器上,由kbroker_super模块负责管理;当存储型资源部署方式为在kbroker分布式操作系统外部署时,提供访问接口给kbroker分布式系统内的应用程序进行调用。


3.根据权利要求1所述的一种新旧代码共同运行的kbroker分布式操作系统,其特征在于,app_allocator模块用于管理app_service模块的主从灾备,
所有应用程序的app_service模块都支持主从灾备,将app_service模块不需要主从灾备的应用程序作为只有主没有从的特例处理;
app_allocator模块将app_service模块进行分组,每个分组至少有一个app_service模块作为该分组的主app_service模块;每个分组还包括存在从app_service模块模式和不存在从app_service模块模式,所述存在从app_service模块模式为app_service模块需要主从灾备,所述不存在从app_service模块模式为app_service模块不需要主从灾备,并且app_allocator模块用于管理维护该分组内app_service模块的主从灾备;
app_allocator模块分配app_object对象到具体分组的主app_service模块上运行,所有请求访问发送到该对应的主app_service模块上进行响应处理,需要主从灾备的从app_service模块由该分组的主app_service模块同步数据;
当现有分组无法满足该应用程序的app_object对象的运行需要时,app_allocator模块创建新的分组和启动新分组内新的app_service模块。


4.根据权利要求1所述的一种新旧代码共同运行的kbroker分布式操作系统,其特征在于,app_allocator模块管理和分配app_object对象,
app_allocator模块分配一个app_object对象在一个分组的主app_service模块上运行,并对系统内提供请求该app_object对象的路由信息接口;
应用程序的app_object对象与app_service模块分组的关系包括关联关系和非关联关系;
当应用程序的app_object对象与app_service模块分组的关系为关联关系时,应用程序的app_allocator模块保存object_id编号和virtual_id编号的关联关系、app_service模块分组与其分组内app_service模块的关联关系;启动该app_object对象时找到其关联virtual_id编号对应分组的主app_service模...

【专利技术属性】
技术研发人员:程延辉
申请(专利权)人:程延辉
类型:发明
国别省市:上海;31

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

1