1、平台使用的技术架构
职业教育“智慧工场”平台(以下简称平台)采用前后端分离模式,使后端更专注于三高(高并发,高可用,高性能),安全,存储,业务处理工作等;前端更专注于页面表现,加载速度,兼容性,用户体验等工作,使平台应用做到在保证高效、高速、可扩展、安全的基础上还具有良好的用户体验性。
平台后端采用微软.NET语言,及非常成熟的ASP.NET Boilerplate Project(ABP)框架进行开发,ABP框架定位于快速开发,且基于DDD(领域驱动设计)的经典分层架构思想,非常适合大型项目开发。
前端采用ReactJS技术。React的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单,它更专注于提供清晰、简洁的视图层解决方案。Facebook、支付宝、淘宝等平台均使用ReactJS技术开发。
2、数据库
平台采用MongoDB非结构化数据库。MongoDB非结构化数据库能够完美解决,在大量用户并发时,大数据量造成检索慢的问题,其具有以下优点:
(1)弱一致性(最终一致),更能保证用户的访问速度。
(2)文档结构的存储方式,能够更便捷的获取数据。
(3)内置GridFS,支持大容量的存储。
(4)内置Sharding。提供基于Range的Auto Sharding机制:一个collection可按照记录的范围,分成若干个段,切分到不同的Shard上。这可以保证MongoDB运行在服务器集群上。集群扩充起来非常方便并且成本很低,避免了“sharding”操作的复杂性和成本。
(5)第三方支持丰富(这是与其他的NoSQL相比,MongoDB也具有的优势)。
(6)性能优越,千万级别的文档对象,近10G的数据,对有索引的ID的查询不会比mysql慢,而对非索引字段的查询,则是全面胜出。
3、集群配置
平台采用docker配置集群的方式解决大量同时并发访问问题(无限制横向扩展),更快、更好、更安全的将大量用户请求负载到集群节点服务器上。
Docker具有如下优势:
Docker 启动快速属于秒级别。虚拟机通常需要几分钟去启动。
Docker 需要的资源更少。
Docker 在操作系统级别进行虚拟化,Docker 容器和内核交互,几乎没有性能损耗,性能优于通过 Hypervisor层与内核层的虚拟化。
Docker 更轻量。Docker的架构可以共用一个内核与共享应用程序库,所占内存极小。同样的硬件环境,Docker 运行的镜像数远多于虚拟机数量,对系统的利用率非常高。
与虚拟机相比,Docker隔离性更弱。Docker属于进程之间的隔离,虚拟机可实现系统级别隔离。
高可用和可恢复性。Docker对业务的高可用支持是通过快速重新部署实现的。
Docker的快速迭代性,决定了无论是开发、测试、部署都可以节约大量时间。
4、持续集成
平台采用jenkins持续集成,将自动化编辑源码,进行源码规范性自动审查,自动化部署,自动化测试为一体的自动化流程,将开发过程敏捷化,精准化,自动化,一体化。
持续集成的优势在于:
(1)降低集成风险。多数情况下,一个项目会有多个人单独处理任务或者一部分代码,人员越多,整合的风险越大,而调试、解决问题本身会是非常痛苦的,我们很可能需要大量修改代码。频繁的集成将极大减少此类问题。
(2)保障代码质量。开发者可以把精力放在业务代码和功能上,从而获得更高质量的软件。
(3)有效的版本控制。如果有人提交的代码有问题,开发团队会即时收到通知,在有任何人拉取之前解决问题。
(4)减少团队间摩擦。明确而公正的制度流程可以减少团队之间的争吵。
(5)改善测试团队工作效率。通过不同版本和构建隔离并追踪错误可以有效减轻测试团队负担。
(6)部署更快。自动化可以让原本繁琐耗时的部署工作变得轻松高效。
(7)增强团队信心和士气。开发团队成员不必再为潜在错误可能会造成的不良后果而忧心忡忡,可以轻装上阵去创造更好的软件。
5、服务插件化
平台所提供的服务都开发为可插拔的插件,通过不同的API调用,实现了跨领域,跨层级,跨区域的服务实现。
6、人工智能
平台提供智能语音整体解决方案。智能语音整体解决方案具有以下四大核心优势。
标准接口:智能语音引擎提供标准API接口,支持MRCP协议、HTTP协议。
领先的核心技术:双向长短时记忆深度神经网络,鉴别性训练,加权有限状态机解码。
语音云平台:搭建集语音识别、语音理解、语音合成、声纹识别等整套智能语音关键引擎于一体云平台。
智能语音引擎:智能语音引擎可作为独立的模块进行封装,并集成到对应业务系统中,主要包括:语音识别引擎、语义理解引擎及语音合成引擎等。
7、基于大数据分析提供可视化报表
平台为入驻企业、院校及管控单位的管理层提供大数据分析功能。平台的入驻企业、院校管理后台提供报表中心,报表中心通过数据采集、数据处理、数据挖掘及数据可视化分析为决策层提供全局业务分析可视化报表。
8、基于区块链技术实现可信行为记录
平台采用区块链技术,记录学员的每次学习活动和成就。确保学员的成长真实有效。通过与若干核心企业合作方共同维护区块链数据,可以使区块链服务响应更快,记录策略更加透明,篡改也更困难。围绕区块链数据为中心,构建更好的应用服务。