一种基于输入输出语义化实现的管理信息化的方法和系统与流程

文档序号:15445644发布日期:2018-09-14 23:19阅读:191来源:国知局
本发明涉及一种管理信息化的方法和系统,属于互联网与计算机软件
技术领域
,尤其涉及一种基于输入输出语义化实现的通用化管理的方法及其系统。
背景技术
:在信息化技术的发展过程中,管理信息化软件系统是比较典型的一类。管理信息化软件系统通常使用快速开发工具开发,如早期的delphi、powerbuilder,现在使用的eclipse、.net等工具。这些工具都不能直接通过配置的方式来实现一个完整的业务流程。基于这些开发工具的现状,管理信息化软件必须委托第三方独立软件开发商来实现,因此造成开发的软件互相之间难以兼容。此外,因为实现一个管理信息化系统,经过业务抽象和数据库设计之后,前端用户界面开发和后端业务逻辑开发以及数据的增删查改等工作都必须以代码的形式来完成,因此每个被开发出来的管理信息化软件都有其业务局限性,并由之带来产品版本的发散性,使这类软件系统通常只能被限制在单个企业内部使用,无法跨企业相互连接形成一个相兼容的社会化平台,技术上限制了管理信息化云平台的诞生。此外,通过第三方软件开发商实现管理信息化软件系统还存在以下问题:a.委托第三方软件开发商进行开发时,由于交付周期短,研发人员很难或无意深度理解业务并完全满足企业需求,导致开发的系统与实际需求之间存在偏差。b.开发好的的系统后期需要第三方长期支持,并且随着企业本身业务的变化,对系统的需求也在逐渐变化,这都导致系统的维护及升级成本会越来越高,因此考虑经济成本原因,或因为软件开发商中途无法继续经营注销,导致开发的系统生命周期较短,企业需要重新定制系统。c.因为复杂的软件开发过程,第三方软件开发商经常出现交付延期甚至交付失败,对企业造成损失。d.开发的系统需要一个超级管理员来分配权限,这常常导致权限安排不及时和各种安全问题。为了应对以上的问题,本领域应用了工作流软件,其中比较常用的工作流软件之一为jbpm(javabusinessprocessmodel),从而编程人员可以把各业务需求通过编程先抽象成原子功能予以实现,然后结合工作流软件按业务需求建立流程,并在流程节点上组装这些原子功能模块。同时可以通过插件进行编程生成用于界面渲染的xml文件,从而提高软件架构的灵活性和复用程度,加快软件开发效率。但是这类软件仍然存在以下问题:a)工作流软件只是实现了流程迁移,但每个流程节点的运行程序依然需要预先编程实现并在工作流编辑器上配置,流程和原子业务功能的衔接依然需要编程人员参与。b)工作流软件作为一个第三方工具,由于自身的技术限制也会导致不能完全支持业务上对流程能力的要求,这时需要编程人员参与。如jbpm的流程描述语言无法描述父子流程之间的依赖关系,需要编程人员的参与。c)虽然提供了统一的流程建立平台,使其建立的流程具有更高的灵活性和兼容性,但是在建立流程、后期维护、流程扩展等过程当中,仍然需要编程人员的参与。d)在生成外部界面时,尤其是对于后期新建的流程,需要对应编程产生新的对应的界面,这一部分工作仍然必须需要流程人员的参与。e)工作流软件通常不解决权限问题,对用户角色的支持也不成熟,这通常要求编程人员深度介入代码来解决这个问题。因此这类软件虽然在一定程度上减轻了编程的工作量,以及增加了流程管理平台的兼容性问题,但是在流程管理升级中仍然需要编程人员的参与,使其灵活性受到了限制,并且对于日常业务来说仍然具有较高的技术门槛。技术实现要素:本发明提供了一种基于输入输出语义化实现的管理信息化的方法和系统,以解决现有技术中的上述技术问题。本发明的内容的一方面包括:一种基于输入输出语义化实现管理信息化的系统,包括客户端和服务端(120)还包括:数据管理系统,布置在服务端,存储有元数据单元,每个元数据单元包括数据项,每个数据项至少具有数据项名称、数据项的类型和数据项的界面渲染信息,所述元数据单元的类型分为对象和活动,所述对象的元数据单元不包含输入型和输出型数据项,所述活动的元数据单元包含有输入型数据项和输出型数据项以及记录有与其前置/后置活动相互关系的数据项,所述输入型数据项和输出型数据项具有语义表达的输入结构,所述数据管理系统中还初始化有用于创建目标活动的初始活动;界面渲染引擎,用于与任务处理引擎进行数据通信,并根据接收数据进行界面渲染;任务处理引擎,布置在服务端,用于与数据管理系统和界面渲染引擎进行数据通信,解析和读取元数据单元及客户端界面输入值,并驱动任务的必填数据项填写完成和/或驱动任务的状态迁移以及任务的推进,所述任务为活动的实例。优选地,所述输入型数据项或输出型数据项的每条语义表达的输入结构由多个参数组成,所述参数包括操作类型参数、数据类型参数、特性类型参数和/或连接类型参数,所述操作类型参数选项至少包括新建、引用和计算,操作类型参数为新建时,数据类型参数实例化的任务输入值由用户输入填写,操作类型参数为引用时,数据类型参数实例化的任务输入值引用已经存有的数据,操作类型参数为计算时,数据类型参数实例化的任务输入值为用户输入的值或引用系统已经存有的数据进行算法操作后的返回值;所述数据类型参数,是操作类型参数的操作对象,选自系统中存有的元数据单元;所述特性类型参数至少具有多值、格式、注册和返回值的选项,当多值被选择时,所述语义表达中的数据类型参数为多条,所述格式被选择时,该语义表达的数据类型参数进行界面渲染时按所选格式进行显示,所述注册表示将该项语义表达及其子语义表达生成新的元数据单元,所述返回值表示所述语义表达的数据通过活动返回给外部可见,如果该活动有后置活动则自动作为后置活动的输入数据的待选数据进行智能匹配;所述连接类型参数包括连接属性、连接输入和连接输出,所述连接属性、连接输入和连接输出表示将所述语义表达的返回值分别赋值到其输入值指定的数据项。优选地,所述界面渲染引擎在渲染界面元素同时生成数据感知系统,所述数据感知系统保持界面元素的数据和任务的数据同步,其步骤包括:正向同步,用于数据感知系统监听界面元素的输入值,并将所述输入值实时同步到任务数据项;反向同步,用于数据感知系统响应用户界面操作,通知服务端查找对应数据,在获取对应数据后通知界面渲染引擎渲染获取到的数据到界面,其中当系统监听到界面元素的对应语义表达的操作类型参数为引用时,数据感知系统通知服务端查找引用的返回值,并将返回值反向填充进所述界面元素中,其中当引用的返回值是相异的元数据单元时,数据感知系统通知界面渲染引擎根据返回值的元数据单元额外渲染新的界面元素。优选地,所述与前置/后置活动相互关系包括序列关系,包括:依赖规则,用于通过完成、开始两个状态的关系来定义前置活动和后置活动的序列关系,至少包括:前置活动完成,后置活动开始;前置活动、后置活动同时开始;前置活动开始,后置活动完成;前置活动、后置活动同时完成;条件规则,用于在所述的依赖规则的基础上设定执行后置活动的条件;定时规则,用于使活动按照设定好的时间触发重复执行;反馈规则,用于设定一组活动重入的条件。优选地,所述元数据单元类型还包括流程元数据单元,流程元数据单元派生自活动元数据单元,并扩展包含有流程计划数据项用于记录总的流程计划工期,流程元数据单元与该流程对应的所有前置/后置活动相关,所述的前置/后置活动也具有计划工期数据项用于记录单个活动的计划时间;同一流程的所有活动以图形化表示时,其中,图形的横轴以工作日计量,图形的纵轴依次排列各前置/后置活动,各活动以多边形进行图形化表示,多边形之间的连线表示各活动之间的序列关系,连线为虚线,表示其连接的前置活动具有条件规则,多边形为实框表示该活动具有必选数据项,多边形为虚框表示该活动不具有必选数据项。优选地,所述与前置/后置活动相互关系还包括分支关系,所述前置活动包含多个后置活动。优选地,活动元数据单元至少还包括账户、模板和/或状态机数据项,所述的账户的值为账户名,活动产生的数据集归属于所述账户名;所述模板指向其他活动,所述活动元数据单元继承被指向其他活动的全部数据项内容;所述状态机为一组有限活动状态的集合,集合内各活动状态有预定义的迁移关系。优选地,所述语义表达具有多级子语义表达。优选地,所述数据管理系统还存储有类型数据单元,每个类型数据单元包括类型名称和类型名称的分类关系。优选地,所述的用户至少分为任务执行用户和任务验收用户。优选地,所述生成界面是语音交互界面和/或图形交互界面。本发明的另一方面提供了:一种基于输入输出语义化实现的管理信息化的方法,包括以下步骤:初始化系统,建立数据管理系统中的对象元数据单元和活动元数据单元,所述活动元数据单元包括输入型和/或输出型数据项并记录有与其前置/后置活动相互关系的数据项,初始化的活动元数据单元包括用于创建目标活动的初始活动;创建活动,执行所述初始活动,产生的初始活动输入界面需要用户输入信息型数据项、输入型和/或输出型数据项的语义表达以及所述活动与其前置/后置活动相互关系的数据项,以用于创建目标活动元数据单元;执行活动,在服务端查找被执行活动元数据单元,实例化所述活动产生任务,执行输入项和/或输出项的语义表达,在需要进行界面渲染时任务处理引擎将任务的数据发送给界面渲染引擎;执行任务界面渲染,界面渲染引擎根据接收所述任务的数据渲染界面,渲染完成界面元素的同时实现界面元素的数据与任务的数据同步;检查界面输入并驱动后置任务,任务处理引擎检查用户提交的界面数据中的必填数据项是否填写完整,驱动必填数据项填写完成和/或驱动任务的活动状态迁移,根据任务所属活动的前置/后置活动相互关系驱动执行其后置任务,如果任务所属活动没有后置活动,结束任务。优选地,所述输入型数据项或输出型数据项的每条语义表达的输入结构由多个参数组成,所述参数包括操作类型参数、数据类型参数、特性类型参数和/或连接类型参数,所述操作类型参数选项至少包括新建、引用和计算,操作类型参数为新建时,数据类型参数实例化的任务输入值由用户输入填写,操作类型参数为引用时,数据类型参数实例化的任务输入值引用已经存有的数据,操作类型参数为计算时,数据类型参数实例化的任务输入值为用户输入的值或引用系统已经存有的数据进行算法操作后的返回值;所述数据类型参数,是操作类型参数的操作对象,选自系统中存有的元数据单元;所述特性类型参数至少具有多值、格式、注册和返回值的选项,当多值被选择时,所述语义表达的数据类型参数实例化的任务输入值为多条,所述格式被选择时,该语义表达的数据类型参数实例化的任务输入值进行界面渲染时按所选格式进行显示,所述注册表示将该项语义表达及其子语义表达生成新的元数据单元,所述返回值表示所述语义表达的数据通过活动返回给外部可见,如果该活动有后置活动则自动作为后置活动的输入数据的待选数据进行智能匹配;所述连接类型参数包括连接属性、连接输入和连接输出,所述连接属性、连接输入和连接输出表示将所述语义表达的返回值分别赋值到其输入值指定的数据项。优选地,所述界面渲染引擎在渲染界面元素同时生成数据感知系统,所述数据感知系统保持界面元素的数据和任务的数据同步,其步骤包括:正向同步,用于数据感知系统监听界面元素的输入值,并将所述输入值实时同步到任务数据项;反向同步,用于数据感知系统响应用户界面操作,通知服务端查找对应数据,在获取对应数据后通知界面渲染引擎渲染获取到的数据到界面,其中当系统监听到界面元素的对应语义表达的操作类型参数为引用时,数据感知系统通知服务端查找引用的返回值,并将返回值反向填充进所述界面元素中,其中当引用的返回值是相异的元数据单元时,数据感知系统通知界面渲染引擎根据返回值的元数据单元额外渲染新的界面元素。优选地,所述元数据单元类型还包括流程元数据单元,流程元数据单元派生自活动元数据单元,并扩展包含有流程计划数据项用于记录总的流程计划工期,流程元数据单元与该流程对应的所有前置/后置活动相关,所述的前置/后置活动也具有计划工期数据项用于记录单个活动的计划时间;同一流程的所有活动以图形化表示时,其中,图形的横轴以工作日计量,图形的纵轴依次排列各前置/后置活动,各活动以多边形进行图形化表示,多边形之间的连线表示各活动之间的序列关系,连线为虚线,表示其连接的前置活动具有条件规则,多边形为实框表示该活动具有必选数据项,多边形为虚框表示该活动不具有必选数据项。优选地,所述任务处理引擎检查并驱动任务的必填数据项填写完成时,如果缺少必填任务数据项的输入值或者输入值不完整,任务处理引擎通知界面渲染引擎将所缺值得输入界面发送给指定用户,要求其填写所缺数据,直到所有必填数据填写完整。优选地,所述用户为任务执行用户或任务验收用户。优选地,所述活动元数据单元中的与其前置/后置活动的相互关系包括所述的序列关系以及所述的分支关系。本发明地又一方面提供了:一种根据本发明所述的系统,其用于实施本发明所述的方法。一种计算机程序,尤其是存储在载体上的计算机程序,用于执行所述的方法和/或用于提供所述的系统。有益效果根据本发明提供的系统和方法,可以利用输入输出的语义化实现和创建系统中可实现各种流程业务逻辑的活动,包括分支与循环流转等,实现类型、函数的操作和变量的申明、重载,以及实现高级算法的复用,使可扩展的系统能够匹配现代编程语言的灵活性、开放性和完备性,并且实现过程不需要任何编程工作。此外,系统可以根据本发明所述的元数据单元信息通过系统内部的功能模块以及相互通信来实现界面的自动生成,在界面输入过程中,保持界面输入值和系统数据的同步,从而保证了本发明所述系统方便、快速高效的特点。而操作人员只要能够熟练理解业务将其转化为具有语义的数据,就可以利用界面操作实现系统的自举,创建符合特定业务要求的流程、活动等,大大降低了现有技术中在实现这类系统扩展时对编程技术的高度依赖。同时根据流程中各活动的流程计划时间产生甘特图,并同时根据各活动的序列关系以及分支关系在甘特图上显示各活动之间的内在关系,便于操作人员更加全面而直观的了解流程的进度状态。综上所述本发明实现了向广大企业群体提供了一种易于使用、灵活性强、容易定制,同时后期维护成本和升级成本低的系统,解决了高灵活性的管理信息化平台与高技术成本之间的矛盾,使企业都能够快速拥有管理信息化能力。本发明所述的系统和方法,不仅可以使企业内部各部门之间形成一个统一的管理信息化平台,也可用于形成企业外部的社会化信息管理平台,这大大降低企业管理信息化成本,极大提高企业流程效率,也同时实现了“企业不依赖第三方实现管理信息化”,避免了委托第三方企业进行这类系统开发的诸多上述弊端。附图说明为了可以更加全面地理解本发明,现利用附图及附图标记及实施例对本发明作进一步解释,其中:图1为本发明所述的通用管理信息化系统的结构示意图;图2为本发明所述的界面渲染引擎渲染的用于创建流程的界面;图3为本发明所述的具有数据感知系统的通用管理信息化系统的结构示意图;图4为图3所示系统通过反向同步额外渲染界面的界面;图5为本发明所述的方法的一个实施例的流程示意图;图6为本发明实施例1用于通过初始活动创建新活动的语义表达输入界面截图;图7为本发明通过初始活动创建“活动说明”输入界面的语义表达界面截图;图8为本发明界面渲染引擎根据图7的任务数据渲染出的界面截图;图9为本发明实施例3用于说明注册特性生成新的元数据单元和类型数据单元以及语义表达的层次结构的语义表达输入界面截图;图10a-10f为本发明实施例4中所述的用于创建具有多活动流程的界面示意图图11为本发明实施例5所述的流程以及其各活动通过甘特图表示的界面截图。具体实施方式为了便于理解,可以将本发明所述“活动”或“流程”的元数据单元理解为是编程语言中的类,因而作为“活动”或“流程”的实例“任务”相当于计算机编程语言中类的实例化。但不应将这种解释理解为对本发明的局限。下面将结合附图及附图标记对本发明的内容作进一步说明,以帮助本领域的技术人员可以更好地理解本
发明内容。如图1所示为本发明所述系统的一个实施例的结构示意图,其中所述系统包括客户端110和服务端120,客户端110中至少包含界面渲染引擎111,服务端120至少包含任务处理引擎121和数据管理系统122。数据管理系统122存储有元数据单元123、基本数据类型124和由基本数据类型124派生出的派生数据类型125。所述的元数据单元包含数据项,其内部还可以包含有元数据单元结构,从而建立深层次的元数据结构,对这种深层次的结构,将在下文的实施例1中有具体说明。按照元数据单元中数据项的类型的不同,可分为对象型元数据单元、流程型元数据单元和活动型元数据单元。对象型元数据单元不包含输入型和输出型数据项,它可以是简单的对象,如“日期”、“地址”,也可以是具有数据结构的业务对象如“项目”、“订单”和“合同”等。相反,活动的元数据单元中都具有输入型数据项和输出型数据项,这种数据项可以按照特定的数据结构做出语义表达如图2所示,通过对输入型数据项或输出型数据项进行语义表达的用户自定义,从而可实现活动与元数据单元数据或界面输入数据等形成数据关联,如通过活动元数据单元中与其前置/后置活动的相互关系数据项,实现顺序、分支与循环流转等逻辑关系,由此实现各种业务的逻辑关系。所述的前置/后置活动的相互关系将在下文详细描述。流程元数据单元的数据结构派生自活动元数据单元,其数据结构扩展有流程计划工期数据项,该数据项的值可以是默认、由用户填写或者根据流程相关的活动的计划工期进行计算。对于流程所包含的活动的元数据单元也可以具有其本身的计划工期数据项。当图形化流程中的活动,如在甘特图中,以显示这些活动的时间要素,以及这些活动的内在逻辑关系时,这些数据可以用于由此可对流程的执行时间得到直观的显示。此外,在数据管理系统122中还初始化有初始活动元数据单元。初始活动元数据单元用于创建新活动元数据单元,比如通过设定合适的语义表达,初始活动元数据单元可以创建“查看活动”、“删除活动”和“修改活动”等活动,在下文的实施例1中将具体说明初始活动建立目标活动的方法。用户可以不断在系统中扩展符合实务需求的新活动、新流程。所述活动的元数据单元还可以包括信息型数据项,如“标识”、“名称”。在一个实施例中活动的信息型数据项可以包括“标识”、“名称”、“账户”、“模板”和“状态机”。所述的“账户”的值为用户账户名,活动产生的相关任务数据归属于该用户账户,该用户账户不仅拥有对该任务数据的修改和删除的独享授权,并且还可以授权其他用户对该任务拥有这些权利。所述“模板”指向其他活动元数据单元,类似于编程中的“继承”概念,本活动元数据单元将继承“模板”指向的活动元数据单元的所有数据项。所述“状态机”为一组活动的有限状态的集合,以及所述各活动状态间预定义迁移关系。比如“状态机”定义了3种状态“已创建”、“已完成”和“已指派”,则从“已创建”到“已指派”的预定义迁移关系为“指派”,从“已创建”到“已完成”以及从“已指派”到“已完成”的预定义迁移关系为“完成”等。这种预定义迁移关系便于向用户显示该任务目前所处的状态。如上所述,前置/后置相互关系的活动,这种相互关系不仅包括序列关系,也包括分支关系。在一个实施例中这种连接关系至少包括依赖规则、条件规则、定时规则和反馈规则。依赖规则定义了前置活动和下置活动具有顺序执行关系,如“完成-开始”定义了前置活动完成时,则启动后置活动,以此类推还具有“开始-开始”、“开始-完成”和“完成-完成”。在此基础上还可以给前置活动和后置活动间定义条件规则,也就是说即使满足了依赖规则,也还需满足某一特定条件时,才会执行下后置活动,如前置活动为“会议邀请”,后置活动为“会议记录”,其依赖规则为“完成-执行”,条件规则为“参与会议邀请的人中包括用户a”,则“会议记录”只会在“会议邀请”完成且“参与会议邀请的人中包括用户a”满足时才会执行。利用条件规则可以定义某些后置活动为可选活动。定时规则定义了活动执行的时间间隔,可以使其相隔固定时间可以重复执行。反馈规则定义了执行完的活动再次重复执行的条件。由这两个规则实现了循环流转的逻辑关系。任务处理引擎121根据活动的这种前置/后置活动相互关系驱动流程(活动链)的推进,直到流程终结。任务是活动/流程的元数据单元的实例,在活动/流程执行时由任务处理引擎生成。生成的任务存储在系统中,界面渲染引擎111在接收到任务处理引擎121发送的任务数据后,生成相应界面,指定的用户需要对必填的数据项进行填写,其中任务处理引擎121会检查并驱动任务的必填数据填写完成,填写完成后可以驱动任务的状态机中的活动/任务状态迁移。但有些任务不具有必填数据项,此时用户可以填写任务的数据项或者跳过此任务。活动是具有输入型数据项和输出型数据项的元数据单元。如图2所示是一个由界面渲染引擎111生成新建活动的输入界面,其中标识210为新建活动的代码标识,在程序代码中使用。流程名称211是新流程的显示名称。输入型数据项和输出型数据项具有相同结构的语义表达,其语义表达结构包括操作类型参数230、数据类型参数231、特性类型参数232和连接类型参数233。在本实施例中,操作类型参数230包括的类型有“新建”、“引用”和“计算”。操作类型参数230为“新建”时,该语义表达的数据项的值需要由用户输入。当操作类型参数230为“引用”时,该数据项的值是引用的系统中已经存储数据。当操作类型参数230为“计算”时,则该数据项的值为由用户的输入值或引用系统中已存储的数据项的值并通过系统中已存的算法计算后得到的返回值。图2中的数据类型参数231可以是已存储在系统中的元数据单元类型,或者自定义一个新元数据单元类型,也可以选择为基本数据类型或者系统中预定义的通过基本数据类型派生的其他数据类型,如由基本数据类型“整数”可以派生“年份”数据类型。无论是输入型数据项还是输出型数据项,都可以具有多条语义表达,并且后置的语义表达可以是前置的语义表达的子语义表达。这会通过实施例3中有具体描述。所述特性类型参数232描述了该数据项的特性,包括但不限于“多值”、“格式”、“注册”和“返回值”。特性类型参数232为“多值”时,表示数据类型参数231对应多个值。“格式”定义了该数据项进行界面渲染时的显示格式。“注册”的数据类型参数231如果是对象型元数据单元,而且具有“注册”特性类型参数232的语义表达具有子语义表达,从而形成层次结构,那么这个“注册”就对应编程语言里的类型“继承”概念。其中,该对象型元数据单元是“注册”后新类型的继承类型,该子语义表达是注册后新类型的扩展结构。“注册”中扩展结构的子语义表达也可以使用对象型元数据单元,这样生成的新数据类型方式就对应编程语言里的类型“组合”概念。当该数据项的数据类型参数231为新建的元数据单元时,系统将会将新产生的元数据单元存储于数据管理系统112,以便以后的调用。在该活动的任务实例具有后置任务时,特性类型参数232可以有“返回值”属性,此时该数据项通过活动/流程可使外部可见,数据项的值自动作为下级活动任务实例的输入型数据项待选项,进行智能匹配。任务处理引擎121可以解析界面渲染引擎111生成的界面数据,并理解数据中的输入输出数据项的操作类型参数230和数据类型参数231,按指定特性类型参数232完成各种数据交换。同时,系统中可以存在一些默认语义组合,来标识特定的功能,如当操作类型参数230为“引用”,而数据类型参数231为“系统存储器”时,表达了将数据保存到数据管理系统122的含义。连接类型参数233可以确定语义表达的赋值对象。连接类型参数233包括三个属性值,分别为“连接属性”、“连接输入”和“连接输出”。“连接属性”、“连接输入”和“连接输出”是将本语义表达的数据“赋值”到指定的信息型数据项、输入型数据项或输出型数据项。所述的“赋值”具体含义根据被赋值的数据项或元数据单元来确定,在实施例1中有具体的说明。图3是如图1所示系统在客户端110带有数据感知系统113的结构示意图。数据感知系统113由界面渲染引擎111渲染界面的同时生成,用于同步界面输入值和任务数据。这种同步包括正向同步和反向同步。正向同步指数据感知系统113将由用户在界面输入的数据通过任务处理引擎121同步存储到对应任务数据中。相反地,反向同步指数据感知系统113响应用户操作,通过任务处理引擎121在数据管理系统122中查找对应元数据单元,并将数据同步渲染到界面中,进行显示。在图3所示系统的一个实施例中,当数据感知系统113监听到界面元素的输入值的操作类型参数230为“引用”时,将通过任务处理引擎121在数据管理系统122查找这个被“引用”的数据类型参数231的返回值,当返回值为与输入值为相异的元数据单元时,数据感知系统113会通知界面渲染引擎111在原界面额外渲染相异元数据单元的界面。如图4所示,当用户选择操作类型参数230的下拉箭头时,数据感知系统113监听到这一操作,并在数据管理系统122中查找“操作类型”数据,并返回给界面渲染引擎111,界面渲染引擎111渲染出额外的界面元素“新建”、“引用”和“计算”如图4所示。本实施例中,客户端110还可以包括消息管理系统120,用于客户端用户的消息通讯,如邮件或即时信息通讯。但是消息管理系统120不是本发明所述系统必不可少的功能模块。服务端120的数据管理系统122中,还可以包括类型数据单元。所述类型数据单元和元数据单元一样是类概念。类型数据单元中记录了元数据单元的类型名称以及数据项的类型名称,如对象名称、活动名称或流程名称,还记载了这些元数据单元的包含关系,比如流程“会议”下可以包括活动“会议邀请”、“会议记录”、“会议日期更改”等活动。进一步,本发明的系统可以开发一个应用服务器把数据管理系统122、任务处理引擎121和界面渲染引擎111集成起来,形成完整的管理信息化云平台。在云平台上实现支付和用户管理等功能,实现社会组织和个人在云平台上面开发并使用自己的业务流程。作为本发明的一种改进,渲染引擎的人机交互技术也可以使用语音交互界面来代替图形交互界面(gui)。图5显示了本发明所述方法的流程示意图。首先初始化系统501,建立数据管理系统中的元数据单元,元数据单元数据项的类型包括输入型和输出型,输入型和输出型数据项可以是多条,都具有语义表达。如前文所述,在一个实施例中语义表达可以是由四个参数组成,构成计算机可以理解的进行功能表达的数据结构。活动元数据单元不仅具有输入型和输出型数据项还具有记录有与其前置/后置活动相互关系的数据项,由此形成活动链。在一个实施例中使用流程元数据单元包含这种活动链。流程元数据单元的可以帮助用户更直观的对具有多活动的流程业务进行时间监控和管理。所述数据管理系统中还初始化有用于创建目标活动的初始活动,初始活动是预先定义好的活动,创建活动502的方式为首先执行所述初始活动,产生的初始活动输入界面需要用户输入信息型数据项、输入型和/或输出型数据项的语义表达以及所述活动与其前置/后置活动相互关系的数据项,以用于创建目标活动元数据单元。执行活动503,在服务端120查找被执行活动元数据单元,实例化所述活动产生任务,执行输入项和/或输出项的语义表达,在需要进行界面渲染时任务处理引擎121将任务的数据发送给界面渲染引擎111。执行任务界面渲染504,界面渲染引擎111根据接收的需要界面渲染的任务数据渲染生成界面,渲染完成界面元素的同时实现界面元素的显示值与任务数据的值同步,同时界面输入值和任务数据形成具有界面输入数据的任务数据,并发送给任务处理引擎121处理。渲染完成后,检查界面输入并驱动下级任务505,任务处理引擎121检查用户提交的界面数据中的必填数据项是否填写完整,驱动必填数据项填写完成和/或驱动任务的活动状态迁移,根据任务所属活动的前置/后置活动相互关系驱动执行其后置任务,如果任务所属活动没有后置活动,结束任务。下面列举了三个实施例,以便于本领域技术人员更全面地理解本发明。在以下实施例中采用java作为开发服务端程序,html/javascript作为开发客户端程序,tomcat作为服务端中的应用服务器122,mysql作为数据管理系统121,linux操作系统作为服务端宿主,chrome浏览器作为客户端宿主。但本领域的技术人员应理解到,上述的系统设置是为便于表述实施例,而本发明的内容不应被限制于上述的设置。实施例1本实施例所述系统至少包括界面渲染引擎111、任务处理引擎121、数据管理系统122,数据管理系统中存储有元数据单元123和类型数据单元。类型数据单元的设定是为了更方便的调用和检索元数据单元之用。在服务端宿主程序中安装数据库管理系统122。在数据管理系统122中创建有类型(type)表,并在表中插入如下数据:idnameparent_idmeta_ida数据类型nullnullb文本a1c名称b2d描述b3p数字a18r布尔a30t日期a17e活动a4f流程e12g特性类型nullnullh多值gnulli注册gnullj操作类型nullnullk新建jnulll引用jnullm计算jnulln活动输入输出项a7q货币a22表1表1中定义了数据类型参数231、特性类型参数232、操作类型参数230和活动输入输出项类型等类型。其中数据类型的类型节点(id)为a,文本类型的类型节点为b,活动类型的类型节点为e。文本类型和活动类型的类型父节点(parent_id)都为a,因此文本类型和活动类型都是数据类型的子类型。文本类型又继续派生了名称类型和描述类型。活动类型派生了流程类型。特性类型继续派生了多值和注册等类型。操作类型继续派生了新建、引用和计算三种类型。需要理解的是,本发明所述系统也可以没有类型表。对于上述的文本类型、名称类型、描述类型、活动类型、流程类型和活动输入输出项类型都映射有元数据单元,这体现在在表1中他们具有唯一对应的meta节点(meta_id)。除了类型(type)表,在数据管理系统121中还创建有meta表,在表中保存有如下meta节点数据:idnameparent_idtype_idfeature0对象nullanull1文本nullbnull2名称nullcnull17日期nulltnull18数字nullpnull22货币nullqnull30布尔nullrnull3描述nulldnull4活动nullenull5标识4bnull6名称`4cnull7输入4nullh8操作类型7bnull9数据类型7anull19缩进7pnull20标签7bnull10特性类型7ah11连接类型7bnull12输出4nh13上级活动4enull14依赖规则4bnull15条件规则4bnull16反馈规则4bnull21流程13bh,i表2如表2所示,meta节点(id)4的行定义了“活动”的meta节点,同时meta节点(id)5、6、7和12为meta节点4的子节点,而meta节点8、9、19、20、10和11又构成了meta节点7的子节点。应当理解到,当表中的meta节点的父节点(parent_id)为null时,该节点与其所有的子节点就构成了一个元数据单元,由此构成了元数据单元数据项的深层次结构,而子节点就是该元数据单元的数据项。表中的属性(feature)的值指向表1中的类型节点(id)。因为活动的输入/输出可以有多个语义表达,每个语义表达可以有多个特性类型,而每个流程可以包含多个活动,因此输入元数据单元、输出元数据单元、特性类型元数据单元和流程元数据单元都可以有多值特性,因此在表2中它们的属性(feature)都具有特性类型“多值”(h)。因此如表2所示,定义了对象、文本、名称、日期、数字、描述、活动和流程等元数据单元。因为流程派生自活动元数据,所以流程元数据单元的类型为活动类型(e)。表2中的类型节点(type_id)唯一对应表1中的类型节点(id)。通过这种对应关系,定义元数据单元本身的类型或元数据单元中数据项的类型。“输入”元数据单元因为结构分解,不需要指定类型,其他元数据单元都指定了具体的类型。下面将结合图2和图6进一步说明通过初始活动用于“创建流程”的实现方法。因为本实施例中创建的流程只包含一个活动,所以也可以看做是“创建活动”的方法。在执行初始活动后,服务端宿主程序的文件系统中创建流程目录,并在流程目录里创建“p001.json”文件,在文件中插入以下初始流程元数据单元:界面渲染引擎111部署在客户端110上,它根据表1和表2能够理解“p001.json”的含义。在这个文档中定义了三个元数据单元以表达初始活动,分别是标识meta_5、名称meta_6和输出meta_12。其中,输出meta_12定义了两个语义表达的输出项:第一项输出表示要新建一个对象(meta_8=new),并且这个对象的类型是“流程”(meta_9=f)。第二项输出表示引用(refer)系统存储器(systemstorage)并通过连接meta_11“赋值”给了第一项输出(output1),该行表示将第一项输出的数据保存。由于第二项输出不涉及界面元素故不渲染。使用客户端宿主程序访问服务端的应用服务器,用户执行名称为“newprocess”初始流程以执行对应p001.json文件,任务处理引擎121根据用户选择为“newprocess”初始流程生成一个流程实例作为任务对象,获得代码如下:界面渲染引擎111通过任务的task_template模板信息读入p001.json文件并渲染,生成如图2所示界面,图2界面用于给用户创建新的流程。在图2的基础上,用户进行输入后,得到如图6所示界面,其中标识220的输入值为“p002”,名称221输入值为“anothernewprocess”,输入222没有输入值。输出223设置两个语义表达的输出:第一行输出的操作类型参数230为“新建”,数据类型参数231为“流程”,其他参数没有输入值。第一行输出的功能为新建一个流程元数据单元,并且不定义这个新建活动的特性和连接值。第二行输出的操作类型参数230为“引用”,数据类型参数231输入值为“系统存储”,连接类型参数233的输入值为“连接输出1”。第二行输出的功能是对第一行输出的数据执行保存。在用户操作界面的过程中,界面渲染引擎111通过宿主程序110在文件系统中创建一个临时文件task1.json,并把任务实例以及界面上发生的数据修改保存在临时文件中,临时文件task1.json内容如下:用户通过界面渲染引擎111把task1.json文件提交到服务端应用服务器,应用服务器再触发任务处理引擎121分析task1.json文件:通过task_template找到任务实例化所用的模板为p001.json,通过p001.json理解task1.json里的task_value数组第一项数据对应的就是p001.json里的meta_12第一项输出定义的流程数据类型,再根据meta_12第二项输出定义把第一项的流程数据保存起来。于是任务处理引擎121重新生成了一个数据文件p002.json,p002.json里包含内容为task1.json里的task_value数组第一项数据。这样,和样本数据p001.json内容相同的另一份“新建流程”的流程文件p002.json生成了。如果让渲染引擎111读入p002.json将生成与读入p001.json一样的界面,除了界面显示的流程标识和名称有不同。通过以上过程,实施例1就完成了根据本发明所述的执行初始流程建立新的流程,并将新流程保存为元数据单元,供以后调用。实施例2在实施例2中,步骤达到如实施例1所述的图2步骤,用户可以在新建流程的界面按如图7所示进行界面输入,其中标识220输入值为“p003”,名称221输入值为“describeprocess”,输入222设置第一行语义表达:第一行输入的操作类型参数230为“引用”,数据类型参数231为“流程”,其他参数没有输入值或按缺省值,输出223也设置一行语义表达:第一行输出的操作类型参数230设置为“新建”,数据类型参数231设置为基本数据类型派生的类型“描述”,其他参数没有输入值或按缺省值。其执行与实现过程与实施例1相同,最终得到如图8所述界面,“输入”的方框内输出了第一行输入语义表达的结果,“输出”方框内显示了派生类型“描述”被渲染后的界面元素,可以在其中输入一段文字作为这个流程的描述,从而实现流程名称所体现的“描述流程(describeprocess)”的功能。实施例3下面结合实施例3说明通过特性类型“注册”生成新的元数据单元。如实施例1,步骤达到的如图2所示步骤,接着如图9所示,将标识220编辑为“p004”,名称221编辑为“registerrisk”,输入222不输入任何语义表达,输出223设置四个语义表达:第一行输出的操作类型参数230设置为“新建”,数据类型参数231设置为“对象”类型并为该输出项设置一个新名称“风险”,特性类型参数232设置为“注册”;第二行输出的操作类型参数230设置为“新建”,数据类型参数231设置为“文本”类型并为该输出项设置一个新名称“风险描述”,同时该输出项缩进一个单位,表示该输出项是上一输出项的子项,其他参数不选择或使用缺省值;第三行输出项的操作类型参数230设置为“新建”,数据类型参数231设置为“日期”类型并为该输出项设置一个新名称“识别时间”,同时该输出项也缩进一个单位,表示该输出项是第一行输出项的子项;第四行输出项的操作类型参数230设置为“引用”,数据类型参数231设置为“系统存储”连接233选择连接第一行输出项数据。在用户操作界面的过程中,界面渲染引擎111通过宿主程序110在文件系统中创建一个临时文件task3.json,并把界面上发生的数据修改保存在临时文件中:用户通过界面渲染引擎111把task3.json文件提交到服务端应用服务器,应用服务器再触发任务处理引擎121。任务处理引擎121开始分析task3.json文件:通过task_template找到任务实例化所用的模板为p001.json,通过p001.json理解task1.json里的task_value数组第一项数据对应的就是p001.json里的meta_12第一项定义的流程数据类型,再根据meta_12第二项定义的连接类型参数333把第一项输出项的流程数据保存起来。于是任务处理引擎125重新生成了一个数据文件p004.json,p004.json里包含内容为task3.json里的task_value数组第一项数据。不仅如此,任务处理引擎121分析task3.json文件时还会发现,task1.json里的task_value不仅是流程数据类型,而且task_value里面的第二项输出项有注册特性。因此任务处理引擎121会给第二项输出项注册一个新数据类型“风险”,以及注册一个新元数据单元“风险”,该元数据单元包含两个子数据项“风险描述”和“识别时间”。即,类型(type)表会增加一条记录:idnameparent_idmeta_idx风险anull另外meta表会增加三条记录:idnameparent_idtype_idfeature23风险0xnull24风险描述23bnull25识别时间23tnull“风险”类型和元数据单元注册后,在以后建立活动/流程的语义表达中就可直接简单调用,如可以参考实施例1建立一个新的流程“newrisk”:在新的流程里设置两行语义表达输出项,第一行输出项的操作类型参数230设置为“新建”,数据类型参数231设置为“风险”其他不变;第二行输出项的操作类型参数230设置为“引用”,数据类型参数331设置为“系统存储”连接类型参数233选择连接第一行输出项数据。经过以上步骤建立的流程“newrisk”和第一步建立的流程“registerrisk”能够完成相同的功能,把用户录入的风险数据保存到系统中。实施例4下面结合实施例4来具体说明新建包含多个相互关系活动流程的实现方法。本实施例中,通过五个活动来实现一个企业内部员工申请固定资产(如笔记本电脑)的审批流程。通过初始活动建立新流程并达到如图2所示步骤,通过点击项目增加图标215,将活动增加到五个,包括第一活动214、第二活动216、第三活动217、第四活动218和第五活动219,图10a为建立有五个活动的创建流程界面示意图,五个活动输入界面分别如图10b-10f所示。其中第一活动214用于标识本流程,以便于本流程被调用,它与其他四个活动不产生直接的相互关系。可以理解到,在其他实施例中可以通过其他方式替代这一方式。其他四个活动分别对应流程“固定资产审批”包含的所有四个活动:“固定资产申请”、“部门审批”、“总经理审批”和“资产配给”。第二活动216至第五活动219的上级活动225输入值均为“a001”,“a001”是第二活动的标识220,因此第二活动的上级活动指向自己,作为流程的起始活动,而第三活动217、第四活动218和第五活动219都是第二活动214的后置活动。在第三活动217至第五活动219的依赖规则224分别输入值为:“a001:fs”、“a002:fs”、“a003:fs”如图10c-10f所示,其中第三活动217输入界面中的“a001:fs”表示第三活动217与标识220为“a001”的第二活动216形成依赖规则:第二活动216完成后第三活动217开始,后面活动依赖规则产生的顺序执行模式以此类推。在第二活动216的输出部分通过“新建”操作类型定义四项输出项:“资产类型”、“申请数量”、“申请原因”和“金额”,数据类型分别为“引用”、“数字”、“文本”和“货币”,表示申请者申请固定资产需填报的资产类别、数量、原因和总金额。在第三活动217、第四活动218和第五活动219的输入部分通过“引用”操作类型定义一项数据类型为“前置输出”的输入项,表示第二活动216的后置活动中可以看到申请人填报的固定资产的申请类别、数量、原因和总金额情况。在第三活动217和第四活动218输出部分通过“新建”操作类型定义一项输出项:“是否批准”,数据类型为“布尔”,表示部门审批人员和总经理通过在“是否批准”上打勾来输出自己的审批意见。在第四活动218的条件规则225输入值为“金额>5000”,表示该第四活动218只有在申请者申请的固定资产金额超过5000元时才需要“总经理审批”,否则第三活动217结束后直接进入第五活动219。在第五活动219的输出部分通过“新建”操作类型定义一项数据类型为“文本”的输出项“资产编码”,特性选择“多值”,表示固定资产管理人员在部门审批人员和/或总经理审批通过后,购买相应的固定资产入库并打上资产编码标签,同时把这些资产编码填报到第五活动219对应的任务中去,最后把设备交给申请人员使用的过程。在用户操作界面的过程中,界面渲染引擎111和实施例1中一样,通过宿主程序在文件系统中创建一个临时文件,并把任务实例以及界面上发生的数据修改保存在临时文件中。用户通过界面渲染引擎111把临时文件提交到服务端应用服务器,应用服务器再触发任务处理引擎121最终生成一个新的流程文件p005.json:实施例5基于实施例4,下面再结合实施例5来具体说明包含多个相互关联活动的流程如何通过图形化展示来突出生产管理中最重要的时间要素。如实施例4创建“固定资产审批”、“固定资产申请”、“部门审批”、“总经理审批”和“资产配给”五个活动,并通过如图11所示的界面来设置流程包括的活动的计划工期227并同时生成甘特图240,界面左半部分显示了流程计划表213,第一活动214作为流程的标识,因此不计算在流程所包含的具有相互关系的活动中,表格中显示流程所包含的所有其他活动。在表格中还显示了各活动的活动名称221,其前置活动224,并增加了计划工期227以录入所有活动的流程计划数据。基于流程计划数据,界面的右半部分可以图形化显示具有工期要素、以及各活动之间的内在相互关系的流程计划,在本实施例中图形化显示采用了甘特图240。甘特图240以时间为横轴并显示了工作周243和工作日244,工作周以一周五个工作日计,以活动为纵轴分列一个流程中包含的所有活动。在本实施例中,在流程计划表213中的活动和甘特图240上代表活动的长方形为行行对应的关系,其中通过长方形的宽度体现在时间刻度上的时间与对应活动的计划工期227一致。长方形的横向左偏移根据活动之间的前置关系进行紧密排列。长方形和长方形之间通过箭头连接以表示各活动之间的序列关系以及分支关系。具有条件规则的前置活动与其后置活动通过虚线箭头进行连接,如第二箭头246和第三箭头247。相反,不具有条件规则的前置活动与其后置活动是用实线箭头连接,如第一箭头245和第四箭头248。在本实施例中,所有长方形都用的实现框来表示,表示该活动执行时是不能跳过的,即该活动的元数据单元中具有必填数据项。但是在其他的实施例中,所执行的活动可以跳过,即该活动元数据单元中不具有必填数据项,可跳过的活动,其在甘特图240中用虚框长方形来表示。甘特图240在用户点击了按钮241时显示在图层上面。如果用户点击了按钮242,则在甘特图240的空间范围内根据用户选中的活动行分别显示图10b-10f中的界面。本领域的技术人员应明白,本发明的实施例可提供的方法、系统或计算机程序产品。因此本发明可以采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明的实施例的方法、系统和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框中每一个流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数值处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数值处理设备的处理器执行的指令产生用于是现在流程图一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数值处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图的一个方框图或多个方框图中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数值处理设备上,使得在计算机和其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/方框图一个方框和多个方框中指定的功能的步骤。以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明还可以有多种修改和变化。凡在本发明的精神和原理之内的所做的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1