多工厂管理的制造执行系统及其实现方法与流程

文档序号:17184128发布日期:2019-03-22 21:11阅读:704来源:国知局
多工厂管理的制造执行系统及其实现方法与流程

本发明涉及生产制造信息化技术领域,特别涉及一种制造执行系统。



背景技术:

公司在制造过程的管理方面,通常会考虑实施一套制造执行系统(mes)来对制造环节中的物料、生产、质量、设备及关键部品批次跟踪等方面进行管理和追踪,现有的制造执行系统基本都是单工厂的技术方案,即针对一个工厂部署一套制造执行系统,当具有相同或相似制造业务场景的多个工厂存在时,就需要部署多套制造执行系统,造成了资源的浪费,如何实现具有相同或相似制造业务场景的多个工厂共用一套制造执行系统,成为了亟待解决的技术问题。



技术实现要素:

本发明所要解决的技术问题是:克服具有相同或相似制造业务场景的多个工厂存在时需要部署多套制造执行系统问题,提出一种多工厂管理的制造执行系统及其实现方法。

本发明解决上述技术问题,采用的技术方案是:

多工厂管理的制造执行系统,包括:

客户端,用于根据用户的交互发送请求给应用服务器,所述请求包括根据用户的登陆得到用户所属工厂的工厂标识符;

应用服务器,用于保存每个工厂对应的工厂标识符与数据库实例名称的关联关系,根据所述请求进行业务处理,当业务处理需要执行数据库操作时,根据工厂标识符与数据库实例名称的映射关系得到用户所属工厂的工厂标识符对应的数据库实例名称,根据数据库实例名称对应设置数据库操作语句中的操作对象,发送数据库操作语句给数据库服务器;

数据库服务器,用于存储每个工厂对应的采用统一数据结构的数据库实例,根据数据库操作语句执行数据库操作。

优选的,所述客户端包括会话管理器,会话管理器用于根据用户的登陆为其分配一个唯一的会话,在会话中缓存用户所属工厂的工厂标识符。

优选的,所述应用服务器包括请求拦截器,请求拦截器用于将用户所属工厂的工厂标识符作为线程全局变量存入线程中。

优选的,所述应用服务器包括数据库操作拦截器,所述数据库操作拦截器用于当业务处理需要执行数据库操作时,从线程全局变量中取出用户所属工厂的工厂标识符,根据用户所属工厂的工厂标识符查找工厂标识符与数据库实例名称的映射关系得到对应的数据库实例名称,根据数据库实例名称对应修改数据库操作语句中的操作对象后发送给数据库服务器。

为了解决上述技术问题,本发明还提供了一种多工厂管理的制造执行系统的实现方法,包括:

数据库服务器存储每个工厂对应的采用统一数据结构的数据库实例,应用服务器保存每个工厂对应的工厂标识符与数据库实例名称的映射关系;

客户端根据用户的交互发送请求给应用服务器,所述请求包括根据用户的登陆得到用户所属工厂的工厂标识符;

应用服务器根据所述请求进行业务处理,当业务处理需要执行数据库操作时,根据工厂标识符与数据库实例名称的映射关系得到用户所属工厂的工厂标识符对应的数据库实例名称,根据数据库实例名称对应设置数据库操作语句中的操作对象,发送数据库操作语句给数据库服务器;

数据库服务器根据数据库操作语句执行数据库操作。

优选的,所述根据用户的登陆得到用户所属工厂的工厂标识符包括:根据用户的登陆为其分配一个唯一的会话,在会话中缓存用户所属工厂的工厂标识符。

优选的,所述根据所述请求进行业务处理之前包括:将用户所属工厂的工厂标识符作为线程全局变量存入线程中。

优选的,所述根据工厂标识符与数据库实例名称的映射关系得到用户所属工厂的工厂标识符对应的数据库实例名称之前包括:从所述线程全局变量中取出用户所属工厂的工厂标识符。

本发明的有益效果是:

将制造执行系统云平台话,采用了客户端、应用服务器和数据库服务器来实现,为具有相同或相似制造业务场景的多个工厂中的每个工厂建立采用统一数据结构的数据库实例,通过区分多个工厂的不同用户请求对应的工厂标识符得到工厂标识符对应的数据库实例名称,通过数据库实例名称来设置数据库操作语句中的操作对象,进而实现相应的数据库实例的操作,实现了具有相同或相似制造业务场景的多个工厂共用一套制造执行系统。

附图说明

图1为本发明实施例的系统结构框图;

图2为本发明实施例的方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及如下实施例对本发明进行进一步详细说明。

如图1所示,多工厂管理的制造执行系统,包括:

客户端,用于根据用户的交互发送请求给应用服务器,请求包括根据用户的登陆得到用户所属工厂的工厂标识符;

应用服务器,用于保存每个工厂对应的工厂标识符与数据库实例名称的关联关系,根据请求进行业务处理,当业务处理需要执行数据库操作时,根据工厂标识符与数据库实例名称的映射关系得到用户所属工厂的工厂标识符对应的数据库实例名称,根据数据库实例名称对应设置数据库操作语句中的操作对象,发送数据库操作语句给数据库服务器;

数据库服务器,用于存储每个工厂对应的采用统一数据结构的数据库实例,根据数据库操作语句执行数据库操作。

其中,上述关联关系可采用配置文件的形式进行保存;根据用户的登陆得到用户所属工厂的工厂标识符,可以是从用户登录时填入的用户信息中获取。上述根据数据库实例名称对应设置数据库操作语句中的操作对象,以查询工单数据为例,说明如下,开发的时候可采用通用的写法,如:select*fromwork_order,表示查询工单表work_order中的所有记录,假如工厂有两个,则在数据库服务器分别建立两个数据库,对应的数据库实例名称分为为db1和db2,两个数据库里的数据表单初始化一模一样,上述根据数据库实例名称对应设置数据库操作语句中的操作对象则可表现为根据数据库实例名称来动态修改数据库操作语句,若是db1对应的工厂的用户操作数据库,则上面的select语句应修改为select*fromdb1.work_order,即将操作对象work_order修改为数据库实例名称.work_order,表示查数据库实例名称中对应的表单,然后将修改后的数据库操作语句提交到数据库服务器执行后返回结果,这样就能对对应的数据库进行操作了。

为了使得每个用户对应的工厂标识符(工厂id)不混淆,客户端可包括会话管理器,会话管理器用于根据用户的登陆为其分配一个唯一的会话,在会话中缓存用户所属工厂的工厂标识符。

应用服务器包括请求拦截器,请求拦截器用于将用户所属工厂的工厂标识符作为线程全局变量存入线程中,也就是说,将用户所属工厂的工厂标识符放入其对应请求处理线程中,作为全局变量,方便后面修改数据库操作语句的使用。

应用服务器包括数据库操作拦截器,数据库操作拦截器用于当业务处理需要执行数据库操作时,从线程全局变量中取出用户所属工厂的工厂标识符,根据用户所属工厂的工厂标识符查找工厂标识符与数据库实例名称的映射关系得到对应的数据库实例名称,根据数据库实例名称对应修改数据库操作语句中的操作对象后发送给数据库服务器。如此,可将用户的请求相对应的数据库操作的对象的名称设置为其对应的数据库实施名称。

上述多工厂管理的制造执行系统的实现方法,包括:

数据库服务器存储每个工厂对应的采用统一数据结构的数据库实例,应用服务器保存每个工厂对应的工厂标识符与数据库实例名称的映射关系;

客户端根据用户的交互发送请求给应用服务器,请求包括根据用户的登陆得到用户所属工厂的工厂标识符;

应用服务器根据请求进行业务处理,当业务处理需要执行数据库操作时,根据工厂标识符与数据库实例名称的映射关系得到用户所属工厂的工厂标识符对应的数据库实例名称,根据数据库实例名称对应设置数据库操作语句中的操作对象,发送数据库操作语句给数据库服务器;

数据库服务器根据数据库操作语句执行数据库操作。

其中,上述关联关系可采用配置文件的形式进行保存;根据用户的登陆得到用户所属工厂的工厂标识符,可以是从用户登录时填入的用户信息中获取。

为了使得每个用户对应的工厂标识符(工厂id)不混淆,根据用户的登陆得到用户所属工厂的工厂标识符可包括:根据用户的登陆为其分配一个唯一的会话,在会话中缓存用户所属工厂的工厂标识符。

根据请求进行业务处理之前包括:将用户所属工厂的工厂标识符作为线程全局变量存入线程中,也就是说,将用户所属工厂的工厂标识符放入其对应请求处理线程中,作为全局变量,方便后面修改数据库操作语句的使用。

优选的,根据工厂标识符与数据库实例名称的映射关系得到用户所属工厂的工厂标识符对应的数据库实例名称之前包括:从线程全局变量中取出用户所属工厂的工厂标识符。如此,可方便将用户的请求相对应的数据库操作的对象的名称设置为其对应的数据库实施名称。

实施例

如图2所示,多工厂管理的制造执行系统的实现方法,包括如下步骤:

a、在同一个数据库服务器上,为每一个工厂建立一套统一数据结构的数据库实例,其中业务通用的初始化数据也完全统一;

b、在应用服务器上部署一套mes系统应用程序,应用的配置中心里为每一个工厂id配置一个唯一对应的数据库实例名称;

c、工厂管理人员通过系统管理页面或应用app等客户端登录mes系统时,会话管理器为其分配一个唯一的会话,在会话中缓存该用户所属工厂id;

d、工厂管理人员在mes系统中进行业务操作时,客户端从会话缓存中读取其所属工厂id,并将该工厂id传给应用服务器;

e、请求拦截器将工厂id取出并存入线程变量。该线程变量作为一个线程的全局变量,在系统线程执行过程中的任意时刻,均可取出该变量,即工厂id;

f、mes系统后端服务在执行底层数据库操作时,数据库操作拦截器从线程变量中取出工厂id,根据步骤b配置的工厂id和数据库实施名称的对应关系,自动修改数据库操作语句,使数据库操作语句能正确的操作对应数据库。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1