[发明专利]一种PaaS与ErlangApp应用引擎架构执行流程有效
申请号: | 201310655663.2 | 申请日: | 2013-12-05 |
公开(公告)号: | CN103618732B | 公开(公告)日: | 2017-05-03 |
发明(设计)人: | 马太航 | 申请(专利权)人: | 用友网络科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京中恒高博知识产权代理有限公司11249 | 代理人: | 刘洪京 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 paas erlang app 应用 引擎 架构 执行 流程 | ||
技术领域
本发明属于办公软件领域,尤其涉及一种PaaS与Erlang App应用引擎架构执行流程。
背景技术
目前市场上针对PaaS下APP应用架构主要采用HTTP和Socket2种方式进行通讯,分别处理长短连接,但是没有一套方案是整合了2者的优点并融入到APP实际应用中去,具体缺陷如下:
HTTP方式:
(1)基于B/S开发的程序,大部分采用浏览器和服务端的结构,浏览器方面如果不采用插件方式,不能实现实时消息通讯和交互,简单来说无法实现服务器推送数据到浏览器。
(2)采用HTML方式开发的程序实现消息实时通讯,只能采用Ajax轮询访问服务端的方式,这样方式在即时性上是根据请求服务器的时间粒度来保障,对服务器IO和压力造成极大负担,资源消耗严重。
(3)由于应用的复杂性和现有市面上大部分浏览器的解析标准,大量短请求会造成浏览器JavaScript解析器崩溃,占用大量客户端资源。
(4)由于大量前端短连接导致事件处理管理困难。
(5)应用服务器只能采用HTTP web服务器或者WebService,无法实现高并发IO处理,无法高效对线程进行管理,对于快速开发实现难度大。
(6)技术限制导致开发应用局限度高,无法实现类似MMORPG(多人在 线游戏)这样的复杂场景。
SOCKET方式:
(1)客户端必须安装插件,例如:Flash/Flex、Java Swing、Unity3D等,对于用户首次UE(用户体验)来讲体验差。
(2)跨平台能力差,在一些PAD端、移动端、虚拟终端中的浏览器无法识别支持SOCKET连接的插件。
(3)单台服务器负载IO压力大,例如:标准DELL R410(双核4G内存)支持的最大连接量在4000上下幅度,其中不包括任何业务数据在里面。
(4)实现复杂分布式线程管理难度高,开发周期长,人员技能专业性需求高,在整合行业内尚无较好整合APP的框架。
(5)采用C++、Java开发的服务器主要面向业务,无法面向并发编程。采用Erlang、GoLang开发的服务器主要面向并发处理,支持逻辑运算能力较差,目前没有一套方案可以高效的整合2者。
在实现现有技术的技术方案中,发现现有技术存在如下技术问题:
目前行业内没有一套高效的方案来整合HTTP与SOCKET方式下APP存在的上述问题,对于行业内大部分公司实现实时交互APP而言,要不舍弃部分业务和用户体验,要不牺牲服务器、带宽等资源,除了这2种方式,目前尚无存在其他更好的架构模型。
发明内容
本发明实施例的目的在于提供一种PaaS与Erlang App应用引擎架构执行流程,旨在解决现有技术中无法整合HTTP与SOCKET方式下APP存在的问题。
一方面,提供一种PaaS与Erlang App应用引擎架构执行流程,所述流程包括:
客户端采用Javascript中Ajax方式发起长拉请求到服务端,参数经过服务端语义解析模块连接到Erlang并发模型;
Erlang并发模型引入Erlang OTP框架,获取被分配资源ID,将获取的资源ID注册到系统公共组件模块中去;
等待系统消息传递模型发送返回结果,当接收到的返回结果为正常响应消息时,会通过语义解析模块将结果返回到前端客户端;当接收到的返回结果为异常响应消息后,会重新引入Erlang OTP框架,获取被分配资源ID,重新将分配资源ID中注册到系统公共组件模块中去,然后重新执行返回结果操作;如果没有消息被接收,当前线程会被Erlang并发模型托管接收进入线程休眠状态,直到有消息更新。
可选的,所述流程在客户端采用Javascript中Ajax方式发起长拉请求到服务端之前还包括:
当客户端被启动时候,Javascript脚本会启动前端监控重启模块,并初始化Ajax请求器,Ajax请求器会发出客户端请求给服务端,并接收服务器返回的消息,通过前端消息字典解析消息内容,并循环执行;
所述监控重启模块,用于保证Ajax请求器有且仅有一个请求被发出。
可选的,所述Ajax请求器会发出客户端请求给服务端具体包括:
Ajax请求器发送Json格式数据给服务端语义解析模块以使语义解析模块会根据参数字典解析Json格式,并将Json数据转换成Bit宏数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友网络科技股份有限公司,未经用友网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310655663.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:下水道疏通车的液压系统及下水道疏通车
- 下一篇:一种可移动式小型风力发电机