当前位置: 首页 > 专利查询>武汉大学专利>正文

一种应用于网络及分布式开发的基础中间件制造技术

技术编号:28672747 阅读:12 留言:0更新日期:2021-06-02 02:48
本发明专利技术公开了一种应用于网络及分布式开发的基础中间件,是建立在操作系统提供的系统调用和库函数的基础上,为网络及分布式应用开发提供支持的基础中间件。通过基础中间件在网络通信、消息传递、任务调度、负载均衡、应用执行、数据横向扩展、安全防护、编程脚本等基础功能上的出色表现,形成一套完整的中间件平台。不仅在现有的人工智能、大数据、网络安全等领域有很好的适用性,并计划进一步延伸到数字媒体艺术、金融、交通、能源、电力、环保等行业,形成丰富的领域/行业中间件库,为打破国外软件在中国基础中间件市场的垄断地位,避免中国软件企业长期处于低水平重复的循环,实现国产软件关键核心技术的突破,做出应有的贡献。

【技术实现步骤摘要】
一种应用于网络及分布式开发的基础中间件
本专利技术属于计算机
,涉及一种基础中间件,具体涉及一种为网络及分布式应用开发提供支持的基础中间件。
技术介绍
自中美贸易战开打以来,中兴事件、华为事件让中国科技界再一次深切认识到我国在基础研究方面的不足。中兴事件爆发三天后,《科技日报》以“是什么卡了我们的脖子”为题,推出了一组由35篇报道组成的专栏,系统性地向公众介绍了我国在哪些核心、关键领域还受制于人,也就是所谓的“卡脖子”工程。其中大部分都涉及到新一代信息技术、高端装备制造、绿色低碳、生物医药、数字经济、新材料、海洋经济、现代种业、现代工程技术等9大战略性新兴产业的关键核心技术。计算机基础研究三大板块国产操作系统、中间件、数据库被文章反复提及,计算机系统在9大战略体系建设中,必不可少,事关国家网络空间安全。近期自“谷歌有可能限制华为使用Android”消息披露之后,最大的开源代码网站Github传出消息:开源代码要受美国出口管制。另外Apache软件基金会官网上近期有这样一段内容:“U.S.exportlawsandregulationsapplytoourdistributionsandremaininforceasproductsandtechnologyarere-exportedtodifferentpartiesandplacesaroundtheworld.”。此文的意思:是除非经美国政府正式授权,否则ASF软件或技术不得直接或间接出口或再出口到受美国禁运或贸易制裁的任何地方,这必然包括中国。这两条最新的信息“警告”我们,美国的中间件开发平台或马上会对中国计算机从业人员停止开放,获取使用路径或马上会被堵死。这对于基础软件薄弱的中国来说,无疑是美国对我国“致命一击”的举动,“卡到了我们的脖子”。我国在互联网应用的底层架构上,web服务器、应用服务器、基础开发框架,基本上用的是国外的产品。主流的开发语言是java,C#,node.js等,web服务器则以apache、nginx、IIS居多,应用服务器则多为weblogic、webshpere、tomcat、JBOSS等。这些产品的搭配组合成了国内应用开发的主流生态。如果继续任由这种现状发展下去,我国在该领域可能会永远处于低水平重复的循环中,关键核心技术的突破更是遥遥无期。
技术实现思路
为了解决上述技术问题,本专利技术选择了基础中间件这一定位。从网络通信、消息传递、任务调度、负载均衡、应用执行、数据横向扩展、安全防护、编程脚本等基础设施入手,形成了一套完整的中间件平台生态。本专利技术所采用的技术方案是:一种应用于网络及分布式开发的基础中间件,其特征在于:包括代理层、核心层和接口层;所述代理层是面向用户的层次,以zlproxy服务器的方式进行部署,能形成多级代理的结构,用于提供对静态资源的访问和建立用户与后端服务器通信的通道;所述核心层,以zlserver服务器的方式进行部署,若干个zlserver服务器形成集群的结构;Zlserver服务器负责处理用户的动态资源请求;所述接口层,用于提供对操作系统和硬件资源的访问接口,它为扩展zlserver的功能提供底层保障。本专利技术的基础中间件(以下简称:Zoolina)的创新点包括:1.Zoolina支持Prefix-Through、Ip-Through、和Prefix-Keep三种转发模式,从而可以实现多级反向代理,形成复杂的拓扑结构;2.Zoolina有自己独特的平台级编程语言ZoolinaScript,能够充分地、高效地利用Zoolina的内部功能,方便地进行分布式应用程序的开发;3.ZoolinaScript拥有数据库变量和内存变量两种变量类型,能以极小的代码量完成数据库操作,简化开发流程,提高开发效率;4.ZoolinaScript提供大量内置函数和内置类,并且可以利用该语言编写自定义函数和类;5.可以方便地使用C/C++、Java语言编写插件,扩展ZoolinaScript的功能;6.用ZoolinaScript编写而成的template文件可以被自动发现、自动编译,其生成的二进制tpt文件可以在全集群的范围内被缓存,从而提高应用程序的加载效率;7.可以利用template文件编写websocket服务,从而降低websocket服务端开发难度;8.可以监控用户的访问行为,并拒绝为涉嫌恶意访问的用户提供服务;9.能实现计算流图转换成template文件,从而支持特殊功能的可视化编程;10.实现了文件的分布式存储,从而支持大型文件的存取服务;11.能够用template文件编写定时服务,方便完成基于时间的任务。本专利技术的有益效果包括:1.运行在linux类操作系统上,具有良好的稳定性;2.系统采用C/C++语言从底层进行开发,具有很高的执行效率;3.支持http和https协议,能够满足各种web应用系统的开发;4.支持方便地利用template脚本实现websockets服务端开发;5.系统具有自主的平台级编程语言ZoolinaScript,形成一个具有内部开发生态的环境;6.支持多级反向代理,支持Prefix-Through、Ip-Through、和Prefix-Keep三种转发模式;7.具有集群的自组织功能,可随时加入新的结点,一旦发现异常的结点,该结点将自动从集群中移除;8.支持多种负载均衡策略,并可根据需要进行扩展;9.支持脚本文件的自动发现、自动编译,提升了开发的便捷性;10.支持远程编辑、编译和调试,满足团队进行大规模软件开发的需要;11.系统具有很好的可伸缩性,可以采用多种灵活的方式进行部署,形成满足实际环境需求的集群结构;12.系统支持多种主流的系型数据库和非关系型数据库结构,支持数据的横向扩展;13.系统留有与C语言、C++语言、Java语言的底层通信接口,可方便地进行二次开发和系统功能的扩充;14.支持系统级的日志功能,为系统分析和管理提供帮助;15.支持应用程序的热部署,增强可靠性、便利性和稳定性;16.具有恶意访问的检测功能,可屏蔽恶意用户,从而提高系统的安全性;17.具有执行代码的多级缓存能力,提高系统的访问效率;18.支持集群范围内的变量共享和事件触发;19.能通过反向代理功能实现遗留系统与新系统的应用集成;20.通过template文件的定时执行机制,完善应用系统功能;21.支持快速方便地生成JSON数据,方便服务端与客户端的数据交换。附图说明图1为本专利技术实施例的框架原理图;图2为本专利技术实施例的基础中间件部署方式。具体实施方式为了便于本领域普通技术人员理解和实施本专利技术,下面结合附图及实施例对本专利技术作进一步的详细描述,应当理解,此处所描本文档来自技高网
...

【技术保护点】
1.一种应用于网络及分布式开发的基础中间件,其特征在于:包括代理层、核心层和接口层;/n所述代理层是面向用户的层次,以zlproxy服务器的方式进行部署,能形成多级代理的结构,用于提供对静态资源的访问和建立用户与后端服务器通信的通道;/n所述核心层,以zlserver服务器的方式进行部署,若干个zlserver服务器形成集群的结构;Zlserver服务器负责处理用户的动态资源请求;/n所述接口层,用于提供对操作系统和硬件资源的访问接口,它为扩展zlserver的功能提供底层保障。/n

【技术特征摘要】
1.一种应用于网络及分布式开发的基础中间件,其特征在于:包括代理层、核心层和接口层;
所述代理层是面向用户的层次,以zlproxy服务器的方式进行部署,能形成多级代理的结构,用于提供对静态资源的访问和建立用户与后端服务器通信的通道;
所述核心层,以zlserver服务器的方式进行部署,若干个zlserver服务器形成集群的结构;Zlserver服务器负责处理用户的动态资源请求;
所述接口层,用于提供对操作系统和硬件资源的访问接口,它为扩展zlserver的功能提供底层保障。


2.根据权利要求1所述的应用于网络及分布式开发的基础中间件,其特征在于:所述zlproxy服务器中,维护了两个连接池,一个是由客户端发起的连接到代理服务器的连接池,另一个是由zlproxy发起的连接到后端zlserver服务器的连接池;所述两个连接池中的套接字都采用长连接的形式;对一次具体的客户访问而言,这两个连接池中的套接字会根据规则组成一个socket-pair来形成通信的通道;通信结束之后,这个socket-pair中的两个套接字将解除绑定。


3.根据权利要求1所述的应用于网络及分布式开发的基础中间件,其特征在于:所述Zlserver服务器负责处理用户的动态资源请求,是根据用户请求的不同资源完成任务的分发;如果在URL中包含有特定前缀,将会根据请求转发到指定的服务器;否则,判断请求是本地静态资源还是后端动态服务,如果是后者则根据负载均衡策略完成请求的转发。


4.根据权利要求1所述的应用于网络及分布式开发的基础中间件,其特征在于:所述Zlserver服务器负责处理用户的动态资源请求,是通过将动态资源划分成为四种类型来完成不同的处理任务;所述四种类型包括websocket服务、template服务、轻量级的specialmethod和重量级的specialmethod。


5.根据权利要求1所述的应用于网络及分布式开发的基础中间件,...

【专利技术属性】
技术研发人员:陈刚沈家强金明王颖鹏
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

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

1