云排产系统的关键技术研究

2013-08-23 08:34陈立敏王中杰谢璐璐
制造业自动化 2013年17期
关键词:实例本体数据库

陈立敏,王中杰,谢璐璐

CHEN Li-min, WANG Zhong-jie, XIE Lu-lu

(同济大学 电子与信息工程学院,上海 201804)

0 引言

制造业体现了一个国家的生产力水平,是衡量一个国家整体发展状况的重要因素。李伯虎院士指出,21世纪,制造业的发展更加依赖高新技术应用的推动[1]。制造业信息化是当前制造业发展的主要趋势,建立一个功能完善的集成制造系统是制造业发展面临的一个重大课题。

针对我国制造业发展现状,科技部提出“云制造”的设想。云制造是一种利用网络和云制造服务平台,按用户需求组织网上制造资源,为用户提供各类按需制造服务的一种网络化制造新模式[1]。云制造是在云计算提供的基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)基础上的延伸和发展,它丰富、拓展了云计算的资源共享内容、服务模式和技术。云制造的研究与应用将会加速推进我国制造业信息化向网络化、智能化、服务化方向发展[2]。

排产系统一直是制造领域研究的热点。一个性能优良的排产系统能够极大地提高制造过程的效率,并能帮助企业制定合理的生产计划。目前绝大多数排产系统采用的是传统的C/S(Client/Server)结构,存在着计算机资源占用量大、维护和升级困难、可移植性差等弊端,并且是以企业自身的制造资源提供相对固定的解决方案,缺乏多样性和合理性。云制造资源共享的服务理念为解决当前排产系统发展遇到的问题提供了新的思路和契机。本文针对排产系统目前遇到的困境以及云制造对排产的特殊需求,重点阐述了实现云排产系统需要解决的若干关键技术。

1 云排产及云排产系统

云排产是以先进的排产技术为基础,借鉴云制造服务模式提出的新概念。云制造以制造服务为核心,云排产是将排产功能作为一种服务提供给各制造企业。云排产将排产功能建立在大量的分布式服务器端,而非本地的计算机系统中。企业通过Internet或其他网络接入方式访问云排产系统即可得到排产服务。和传统排产功能实现方式相比,云排产节省了企业自身的计算资源并提高了执行效率。

云排产系统是建立在云排产概念上的排产系统。云排产系统集中了各制造企业的制造资源(包括软件、硬件、人力等)并使用虚拟化技术建立一个公有制造资源池。云排产系统的目标是通过调度云端制造资源,为制造企业提供更合理和更全面的生产制造解决方案,实现制造资源的最大利用和整体均衡利用。和传统排产系统相比,云排产系统在资源利用和制造模式上更为合理可靠。

云排产系统的结构如图1所示,主要由四个部分组成:云排产系统客户端、云排产系统管理平台、云排产系统功能平台和分布式数据库管理平台。

图1 云排产系统结构图

云排产系统的客户端组成由PC客户端、移动终端以及其他可通过网络接入的终端组成。云排产系统管理平台是针对系统中通过虚拟化技术集中的各制造企业的制造资源,以及系统的安全体系的管理。云排产系统功能平台集中了系统面向用户提供的排产相关服务,主要功能包括订单导入排产、任务计划设定、排产模型设定、工艺流程设定、生产资源设定、优化排产方案、排产结果展示、生产计划生成以及排产模型维护等功能。分布式数据库管理平台负责系统数据库系统的维护。

2 云排产系统的关键技术

与常规排产系统相比,云排产系统涉及的关键技术主要包括工艺管理、系统安全、大数据并发处理以及优化排产四个方面,下面分别对这四项关键技术进行阐述。

2.1 工艺管理

工艺管理是云排产系统必不可少的组成部分。云排产系统需要定义良好的工艺描述方式。一种有效的方式为通过OWL(Ontology Web Language)[3]文件对工艺信息进行描述。OWL和其他数据描述方式相比不仅关注信息内容的描述,更关注信息内容之间的联系性。可以使用Protégé软件进行OWL工艺文件的创建。下面描述一个通过Protégé软件创建工艺文件并从服务器端解析获取工艺的过程。

在Protégé中创建顶层本体类(Ontology Class)“工艺路线”,在“工艺路线”本体类下面创建子类,这些子类是产品的工艺路线必须组成的部分,比如“工序名”、“工序号”、“工序单位”、“工序顺序号”、“工序类型”、“工期”、“能力类型”等。创建本体类及子类后,开始创建对象属性(Object Property)。

定义对象属性时需要声明属性的定义域(Domain)和值域(Range),表1所示为具体的声明及定义信息。

表1 对象属性详细定义

在本体类和对象属性均创建好之后,开始创建各本体类的实例(Individual)。一个本体类可以创建任意多个实例。在顶级本体类“工艺路线”下创建永久实例“工艺流程”,然后将产品的具体制造工艺依次创建为各本体类的实例,实例的值即是工艺的具体信息。在OWL中,实例之间的关系是通过三元组(Subject-Property-Object)进行描述。假定“工艺路线”本体类下有实例“S产品生产”,“工序内容”下有实例“S零件铣加工”,“工序类型”下有实例“铣加工”,则这几个实例之间的关系如表2中所示。

表2 实例关系描述

在本体类、对象属性以及实例均创建好之后,生成OWL文件,通过云排产系统工艺文件输入接口上传到云端制造资源池中。如果云排产系统服务器端需要使用“S部件生产”工艺,可以在系统中创建SPARQL语句,并通过Jena的API将OWL文件转换成本体树模型进行查询,一个具体的流程如图2中所示。

图2 工艺查询流程

查询结束之后,“S部件生产”的详细工艺信息记录在ResultSet中。这种查询方式是通过将上传的OWL工艺文件转换成工艺本体树,利用Jena提供的API在本体数结构上进行查询,其查询效率和速度要优于直接从数据库中读取。

2.2 安全体系

如何保证云排产系统的安全性是构建云排产系统的重要因素。云排产系统集中了企业和制造单位大量的工艺信息和制造资源信息,这些信息是大部分企业的核心机密,所以保证这些数据的安全是极为重要的。图3所示为云排产系统的安全架构。云排产系统的安全架构主要由安全连接层、安全管理层和安全存储层组成。

安全连接层是确保云端访问层用户和系统交互过程中的安全性。用户在进入系统之前首先要进行用户认证。用户认证是云排产系统安全性的初级保障,云排产系统采用密码认证技术实现对云端访问层用户身份的确认。由于使用明文传输用户名和密码的安全隐患较大,系统实现中我们将密码认证技术和加密技术相结合,以实现安全的密码认证。用户身份确认合法后,系统开始实施权限控制。权限控制即是系统根据不同云端访问层用户的身份授予相应的操作权限,在设定的访问控制策略下实现用户授权。授权结束后,用户和系统之间开始建立安全连接。云排产系统使用SSL安全传输协议建立安全交互通道。建立好安全连接后,用户可以正常访问系统,但每一次操作都要经过行为鉴定。行为鉴定是对用户的操作合法性进行检测,判定用户的行为是否在系统授予的权限范围内,以防止有黑客或不法牟利者侵入系统进行非法操作。系统一旦检测到用户有越权或非常规行为,立即记录用户IP、身份等信息,列入警示黑名单中,并断开与用户之间的网络连接。

图3 云排产系统安全架构图

安全管理层是对安全连接层实现技术的管理和维护。用户管理是对云端访问层用户的信息以及用户认证方式的管理。控制策略管理是设定系统的访问控制模型,以及划分系统用户的权限等。行为规则管理的主要对象是用户行为规则库。系统通过建立用户行为规则库存储每个用户的访问规则,以方便系统通过访问规则检测用户有无非法操作。数据加密管理是针对系统数据加密协议的管理。在系统数据传输过程、数据库读写过程中均涉及到不同的加密协议,如何有效识别并管理不同的加密协议是云排产系统功能性和安全性的重要保障。数据隔离[4]管理是保证系统不同用户之间数据的独立性,保证用户数据的私密性。

安全存储层是整个云排产系统安全体系十分重要的部分。数据存储层直接存储着用户的信息和数据,以及系统的控制策略模型和用户行为规则等和安全管理息息相关的数据。这里我们采取的策略是存储加密和数据备份。存储加密是指将用户的信息和数据加密后存储,以保护数据的隐私性。数据备份则是定期保存用户的数据,防止因为物理故障丢失用户数据时能及时进行数据恢复。

云排产系统的安全体系实现了从前端到后台完整的安全保护措施,充分考虑了数据的传输安全、存储安全并保障了数据的完整性和私密性,能有效地避免非法用户进入系统并对恶意攻击等破坏行为有很好的检测和防护措施。

2.3 大数据并发处理

作为一个云端服务系统,必须要考虑当出现大规模用户访问系统时系统的数据处理能力。云排产系统的数据存储在数据库中,云排产系统的业务高峰也将会是数据库服务器的业务高峰。随着同一时间段云端访问用户的增加,数据库的IO吞吐量以及创建连接、执行查询等操作花费的时间开销将成为整个系统数据处理的瓶颈。云排产系统采用数据缓存[5]技术来减少对数据库的访问。在系统的前端使用页面缓存技术,以减少前端对数据库的访问。在服务器端进行数据处理时系统将一些数据库中经常被访问的数据建立数据缓冲池进行保存。另外,在服务器和数据库之间建立一个连接缓冲池,每当出现数据库连接请求时,优先从连接池中获取空闲连接,以减少创建连接的次数。同时建立分布式数据库系统,优化数据库的配置属性,提高查询效率和多事务处理能力。图4所示为系统的数据缓存结构图。通过这些措施,系统的数据库瓶颈问题能得到有效解决,数据处理能力也有了很大的提高。

图4 系统数据缓存结构图

云排产系统是一个多任务高并发处理平台,通过建立数据处理服务器集群来满足高并发多任务的大数据处理需求。这里的一个技术难点为如何建立有效的集群调度策略。云排产系统为云端所有待排产任务建立一个任务队列,然后通过任务的级别、等待时间和重要性来计算任务的优先级,同时通过各节点数据处理服务器的CPU信息、内存信息和任务处理率来计算节点服务器的负荷率。云排产系统根据服务器的负荷率选择合适的节点处理用户的排产请求,节点服务器根据任务的优先级启动线程进行排产任务处理,基本的处理流程如图5所示。通过数据缓存技术和服务器集群技术,云排产系统有效地提升了并发大数据的处理能力。

图5 云排产系统集群数据处理流程图

2.4 优化排产

任务排产是云排产系统提供的核心服务。和普通排产系统相比,云排产系统拥有更丰富的制造资源和先进的排产技术。在用户出现排产结果不满意,比如生产资源出现超负荷工作状态,资源利用不均衡等,如何采取有效的策略使排产结果得到优化是实现云排产系统的关键所在。一个实现优化的参考模型如图6所示。假定排产过程结束后,某些生产资源出现了负荷饱满状态,用户可以通过从系统的排产模型库中选择其他的排产模型进行一次重排产,以解决超负荷问题。另一种方式为系统在云端制造资源池中为用户寻找可替代的制造资源,生成推荐方案。用户如果使用系统提供的推荐方案,那么系统将会向可替代制造资源所属的用户发出服务请求。如果请求成功,那么超负荷问题即可得到解决。如果请求失败,系统会为用户寻找其他可替代制造资源。通过这样的举措,既有效地优化了排产结果,又能使云端制造资源得到均衡利用,充分展示了云排产模式的可靠性和社会价值。

图6 云排产系统排产优化结构图

3 结束语

本文提出了四项构建云排产系统急需解决的关键技术,这些关键技术的实施和改进将能极大地提升云排产系统的功能性、可靠性。目前,课题组已经实现了基于语义的动态工艺定义和识别技术,并基于现有的各项云制造工艺流程,对常见的云制造排产服务进行了智能化建模,实现了基于多模型的分布式资源调度与排产优化服务,日后将进一步完善系统的安全体系构建,提高系统对复杂海量排产任务的大数据并发处理和分析能力,优化云排产系统的性能。随着制造业信息化的不断推进和云制造技术的不断发展,云排产系统将会是排产系统未来的重大发展趋势之一。

[1]李伯虎,张霖,王时龙,陶飞,曹军威,姜晓丹,宋晓,柴旭东.云制造——面向服务的网络化制造新模式[J].计算机集成制造系统, 2010,16(1):1-7.

[2]唐国纯,罗自强.云制造的体系结构研究[J].制造业自动化, 2012,34(9):85-87.

[3]丁松,唐胜群,刘坤,张亮,秦学.非一致OWL本体的推理方法研究[J].计算机工程与应用,2011,47(9):21-24.

[4]张敬亮,张军伟,张建刚,许鲁.蓝鲸文件系统中元数据与数据隔离技术[J].计算机工程,2010,36(2):28-30.

[5]曹丽娟,谢强,丁秋林.基于分布式数据缓存技术的Web-OLAP系统研究[J].计算机应用, 2008,28(2):515-518.

猜你喜欢
实例本体数据库
眼睛是“本体”
基于本体的机械产品工艺知识表示
数据库
数据库
数据库
数据库
完形填空Ⅱ
完形填空Ⅰ
专题
Care about the virtue moral education