基于工作流的数据集成系统的制作方法

文档序号:11433055阅读:198来源:国知局
基于工作流的数据集成系统的制造方法与工艺

本发明涉及软件开发技术领域,尤其涉及基于工作流的数据集成系统。



背景技术:

工作流过程定义语言(wpdl)是由wfmc于1994年推出的基于元模型的为创建阶段的工作流过程模型的输入、输出而建立的文本描述语言。而xml过程定义语言(xpdl)是wfmc于2001年5月发布的基于xml描述工作流过程定义接口规范。xpdl是wfmc用来标准化过程定义的语言,因此它的实体概述数据模型呈现了工作流定义中的最基本的组成实体。

工作流是一种对工作进行优化的思想和技术,其主要的优越性表现在工作流的基础上改进控制策略,降低响应的控制成本,降低管理成本,避免不必要的和重复的工作,提高工作人员的工作效率,有利于提高软件的复用率、灵活性和适应能力,通过对己经完成的工作流实例的分析,找出存在的不足,进而不断改进工作流程,改善工作质量,自动提供为完成某个任务所需要的相关信息,可以大大缩短主要业务过程的处理时间,使工作内容更加丰富,并且提高工作人员的业务能力,减少工作人员进行单调乏味并且十分耗时的文档查找工作,通过在工作流模型中加入对可预计故障的处理策略来提高系统的柔性,提供系统日志功能,能够适应一定程度的业务流程变化需要。

工作流管理系统在实际应用的过程中,尚有需要完善的内容,工作流管理系统实现的复杂性:企业工作流管理系统的实现,不单要完成相应的过程定义,还要与现有系统的集成、开发相应的用户界面、制定相应的管理规程与用户操作规范,更可能需更改企业的整个业务流程操作规范以适应工作流管理系统,相应的,企业的管理体系也可能需要改变;工作流管理系统的安全性:工作流管理系统对系统运行中出现的并发访问和异常处理等错误处理和中断恢复功能支持比较薄弱,其运行性能也不足以处理大范围、高强度的业务需求,这些都应该是应用中必须加以慎重考虑的主要问题;工作流技术 尚不成熟:尽管工作流技术至今已经取得了很大的进步,但是相比起其他企业应用技术,例如关系数据库技术,工作流技术依然处于自己技术发展的早期阶段,各种标准及实现技术都还在研究与制定之中,工作流仿真技术的缺乏:工作流技术的仿真一直比较薄弱,整个工作流系统是不完善的。因为仿真方法与仿真工具的缺乏,大多时候人们只能通过人工判断流程的表述的正确性,无法判断和优化工作流过程,各种工作流产品的标准化程度差,不同生产者的工作流产品都有自己的一套工作流模型、工作流定义语言及api接口,存在与其它产品不能很好交互的问题,原因在于不同厂家为了体现自己不同的特点,或多或少的对标准与规范的实现做了扩充和修改。

数据集成的出现帮助企业将后台的的erp信息迁移到web层面上。数据集成能在一个公司的web层与oracle、sap、ibm、微软等公司的后台系统间提供一个“高速数据缓存”或数据信息分级。

数据集成能够在一个企业的主服务器存储的后台信息的构建一份数据备份。当一个web客户想要查询一份订单的处理状态时,本次查询就被传递到数据集成平台。因此,无须每次都去访问企业的主服务器。数据集成平台可以根据实际的需要来判断何时与主服务器进行同步以便使数据保持最新状态[12]。集成erp数据的电子商务应用是通过直接访问erp数据和数据分级这两个部分的有机结合来完成的,这其中包括利用一个主的数据服务器和一些高速的数据缓存[10]。数据集成平台以通过智能方式来根据实际情况将实时访问和批量数据存取这两种方法融合起来,以便从统一的erp平台抽取数据。

数据从一个或多个源表集成到一个或多个目标表以及转换成需要的信息类型(如xml),数据传输的步骤包括确认需要抽取数据的源、数据需要进行的转换以及向何处发送数据。用户可以通过图形的化接口来完成数据映射的指定和转换的制定。

由用户定义的模块来控制每一块数据的同步并确认这些同步之间的内部相关性。例如,如果一个目标表依靠其他代码表的值,则使用一些模块来控制一台数据服务器需要以什么次序来进行这些目标表中的单个的数据移动。数据移动可以被定制为以批量方式或增量方式实时运行,以上均可以由管理员来进行创建和管理,以方便电子商务、控制erp、供应链管理、客户关系 管理以及系统应用之间的数据同步[11]。数据同步使用多进程、分布式优化查询、存储内的数据转换和流水线并行操作来提供非常高的数据集成量和系统伸缩性。

etl是extract-transform-load的缩写,即数据的提取、转换、加载的过程,是bi/dw(businessintelligence)的关键和心脏,通过使用统一的规则进行集成并提高数据信息的生产价值,来负责完成数据信息从数据源头向目标数据数据库集成的过程,是构建数据仓库的重要过程[14]。假如将数据仓库的模型设计类比成一座建筑的规划蓝图,数据是建筑的砖瓦的话,那么etl就是整个建筑的建设过程。用户需求分析和模型设计是整个项目中最难部分,而工作量最大的则是etl方案设计规划和实施,从国内外众多实际应用中来看这一段流程时间基本上占整个项目时间的60%~80%。

信息是现代化企业非常重要的资源,是企业进行决策分析、科学管理的基础。目前,很多企业花费巨量的时间和资金来搭建办公自动化系统和联机事务处理oltp系统,用以处理生产业务中产生的各种相关数据。统计显示,整个企业的数据量会以每2~3年的时间成倍的增长,在这些数据潜在着巨大的商业价值,但是企业所关注的信息通常只占总数据量的2%~4%上下。所以,现有的数据信息资源仍然没有被企业最大化地开发利用,于浪费了非常多的资金和时间,错失规划企业发展的最佳契机。因此,如何利用各种技术手段,把已有的业务数据转换为决策信息、应用知识,已经成为企业提高其核心竞争力的关键问题。而etl是能够很好的解决该问题的一个技术手段。

etl的效果质量问题主要表现为完整性、正确性、完备性、一致性、有效性、可获取性和时效性等几个方面。而影响etl质量问题的因素有很多,由于历史数据和系统迁移而造成的原因主要有以下几个方面:业务系统在不同时期的业务流程有调整;业务系统在不同时期的系统之间存在数据格式的不一致;旧的系统和新业务、管理系统的数据同步的不完整而带来的不一致性;旧的业务系统模块在资产、财务、人事、办公系统等相关数据信息的不一致。

实现etl,首先要实现的是etl转换的过程。它主要集中地体现为以下几个方面:

(1)建立etl过程的主外键约束对无依赖性的不合法数据,可暂时替换或者导出到相应错误数据日志文件中,以保证主键能够惟一的被装载。

(2)空值处理捕获数据字段的空值,装载或者替换为其他的定制数据,同时根据数据字段空值信息来实现分散加载到不同目标数据库。

(3)规范化数据格式实现数据字段格式的约束定制,对于数据源中数值、时间、字符等数据,可自定制其加载格式。

(4)拆分数据根据业务需求对字段进行合适的分解。例,电话系统中目标号码861237618919,可进行区号和电话号码来分解。

(5)数据替换对于业务的原因,可完成缺失数据、无效数据的替换。

(6)验证数据正确性可以利用lookup或者拆分功能来进行数据信息验证。例如,目标号码861237618919,进行区号和电话号码分解后,可利用lookup返回电话网关或者交换机记载的主叫地区,进行电话号码验证。

(7)lookup查询丢失数据,利用lookup实现子查询,同时返回使用其他手段检索到的丢失字段,保证数据字段的完整性。

etl过程在很大的程度上受到企业对源数据的理解深度的左右,即从业务的角度来审视数据集成是非常重要的。一个成功的etl设计规划应该具有如下几方面的功能:

(1)管理方式简单;

(2)利用元数据模式,能够集中管理;

(3)具有较强的拓展性;

(4)接口、集成、数据格式有严格的规范;

(5)无需在外部的其他数据源构建系统;

(6)读取的数据准确、及时、完备;

(7)数据集成系统的业务流程能自动化执行,并且能够自动调度;

(8)基于框架的软件系统,在系统功能发生改变时,应用程序只需很少调整即可;

(9)可以提供同丰富的数据系统接口,有很强的系统适应性;

科学的业务逻辑模型设计对etl非常重要。数据仓库是现代企业具体、唯一、综合的数据系统。数据仓库的规划设计一般有三范式、雪花模型和星 型模型,不管是哪种设计方法,都需要最大限度地包含主要的业务数据,将生产环境中凌乱的数据结构整合成为统一的、合理的、相关的新的结构,而etl能够依照定制的模型去抽取源数据,完成转换、清洗的流程,最终完成后插入到目标数据仓库中去。

数据模型的重要性在于能够对数据实现标准化的规定,完成统一的数据分类、统一的数据编码和数据组织。而数据标准化规定的内容主要有:业务规范统一、代码数据统一。因此,etl根据模型的定义进行初始化抽取、增量抽取、慢速增长维、缓慢变化维、数据表加载等方式的数据集成,同时根据具体的业务需求生成相应的抽取策略、更新策略、集中策略、维持策略。

业务本身的数据以及对业务运行环境进行定义、描述的数据,称为元数据。元数据是阐述数据的数据。因此,从某种角度上可以说,业务数据的主要作用是用于支持业务系统应用,而元数据则是业务客户关系管理、企业门户、决策支持、数据仓库和b2b等各种应用所必须的构架。

元数据的最为典型应用为对业务对象的描述,如对数据库、数据库的表、表的列、列的属性(如类型、约束、格式等)以及对主键或外键间的关联等等的描述。在现今应用系统的分布性与异构性愈发的普遍的情况下,规定统一的元数据就显得非常重要了。“信息孤岛”以前是很多企业对其业务系统应用情况的一种缺憾和描述,而科学的元数据设计则能够有效地勾画出信息间的联系。

而etl中元数据对于主要表现在:定义数据源的属性及数据源的位置、确立源数据与目标数据间的对应规则和模式、确定关联的业务逻辑和流程、在源数据加载前需要进行的其他必要的前置工作等等,通常贯穿整个数据仓库系统,而要快速实现etl,则所有过程必须尽可能地参照元数据。

ajax是一种轻量级的解决方案,它操作的基础是html或者是xhtml,使用的脚本语言是javascript,这可以保证它的纯文本性质,它具有更好的搜索引擎友好性;设计出色的ajax应用还可以很好地工作在旧版本的设备上;利用xml,json等ajax可以和其他应用程序方便地进行通信。

ajax将javascript技术和xmlhttprequest对象放在web表单和服务器之间。当用户填写表单的时候,数据发送给一些javascript代码而不是直接 发送给服务器。相反,javascript代码捕获表单数据并向服务器发送请求。同时用户屏幕上的表单也不会闪烁、消失或延迟。javascript代码在幕后发送请求,用户甚至不知道请求的发出。需要指出的是,该请求是异步发送的,就是说javascript代码不用等待服务器的响应。与此同时,用户可以继续输入数据、滚动屏幕和使用应用程序。然后,服务器将数据返回javascript代码(仍然在web表单中),后者决定如何处理这些数据。javascript代码甚至可以对收到的数据执行某种计算,再发送另一个请求,不需要用户干预。这就是xmlhttprequest的强大之处,可以根据需要自行与服务器进行交互,用户甚至可以完全不知道幕后发生的一切。结果就是类似于桌面应用程序的动态、快速响应、高交互性的体验,但是却拥有web应用程序的功能。

工作流与数据交换是紧密联系的——工作流的设计合理与否是保证数据交换高效运作的前提,而数据交换的畅通无阻则是工作流体系的成效体现。电子政务办公系统并不等同于办公自动化系统,但在设计过程中仍然可以借鉴“第三代信息系统以知识管理为核心”的观点。第三代信息提出的知识库概念可以很好地运用到政务或者企业信息系统中来,而本文所提到的ajax技术完全能很好地调用知识库,实现系统审计的功能,通过异步调用、事前验证等先进技术,确保政务工作流程高效运作,减少回流的机率。知识管理能够帮助组织去发现知道些什么、如何定位拥有专门知识的人、如何传递这些知识以及如何有效利用知识。[这就意味着系统能够在恰当的时间,将正确的知识传给正确的人,帮助他们采取正确的行动,避免重复错误和重复工作,帮助政府提供整体业务水平的提高。

工作流所提供的控制功能,可以为政务行为设定标准,使政务办公严格按照流程进行,既杜绝了行政违规违法行为,也监督了行政不作为的现象,保证政务办公按时间节点开展,不因人为因素停滞。本系统通过工作流技术与数据交换技术的有效结合,为部门与部门之间的业务联系提供了一贯到底的办公流程。正因如此,各关系人很难再找出可以使自己工作延误、停滞的理由。跨部门履职流程具有专门的监督机制对政务办公流程进行监控。根据处理进度,本系统的督办模块特别设计了警示灯,显示绿黄红三种颜色,用来提示该办公流程还余下多少办理时间,如:红色表示已经超期。本流程中 的其他关系人,如具有审核权限的分管区长可以实时查看工作流程的状态。

例如,在传统的公文流转过程中,因部门领导出差而使流转过程延误的现象时有发生。基于工作流的政务办公系统为此提供了“领导外出申报审核”、“公务委托代办”、“在办状态查询”、“办理时间设置”、“催办、督办警示标识”等功能,并可严格按照“沪府办[2008]7号”文件设置办文时间。

综上所述,针对现有技术存在的缺陷,特别需要基于工作流的数据集成系统,以解决现有技术的不足。



技术实现要素:

本发明的目的是提供基于工作流的数据集成系统,便于对工作中的流程进行管理,自动化程度优。

本发明为解决其技术问题所采用的技术方案是,

基于工作流的数据集成系统,该系统包括同步接口单元、模块配置单元、发布同步单元、信息系统单元;

对数据集成,eai集成架构中的点到点架构虽然可以很好地将数据从一数据源转换到另一源,但是每种点到点的构架方法都只是一种特例化的方法,而当数据源数目巨大时,很难以支持新的数据源加入,而etl指的是从异构的数据源抽取数据并进行转换最后装载到数据仓库,针对etl概念,vassiliadis等人提出了一种过程模型,该etl过程模型从不同的数据源抽取数据然后经过转换最终装载入目标数据库中,相对于数据仓库而言,数据集成领域的etl有其自身的一些特点,如数据差异性更大,不仅是结构化的数据,可能还涉及到半结构化数据和非结构化数据;同时数据抽取,转换和加载等操作往往在不同的地方,需要远距离传输,考虑到性能需求需要尽量减小网络开销,因此,可以通过对etl的扩展和修改以解决金融领域数据集成的问题;

经过总体架构设计、集成开发、部署运行直至项目圆满完成的一个流程,此流程作为实施人员进行高校数据集成时的指导,具体步骤是:

(1)搜集数据集成需求,并进行需求分析,整理成需求文档,以便成为项目实施的基础,因此需求分析是整个数据集成项目的关键;

(2)确定数据集成总体框架,对整理出的需求,构建数据集成的总体架构,以集成中心库为中心,实现与各业务系统数据的交互;

(3)数据集成平台的安装:包括集成工具的安装,数据库的安装;

(4)集成开发:根据需求和总体架构,利用集成工具,实施数据集成中实际业务需求的项目设计;

(5)部署运行:将实施完成的项目部署到服务器上,并进行相应的配置:

信息系统单元包含有公文交换总控模块、公文信息缓存及备份模块、公文流转子系统:

公文交换总控模块为各公文流转子系统提供了交换请求接口,一旦交换中心接受到交换请求后,便根据请求的实际配置情况,主动抓取需要交换的公文数据进行区层面的保存及整理,随后再将必要的数据主动推送到目标部门服务器,如果目标部门尚未配备公文服务器,则自动推送到区公用公文流转子系统中,同时,交换中心还将适当的触发各类消息提醒机制,主动提醒相关人员进行及时处理;

公文信息缓存及备份模块该模块将通过一定的效验机制,缓存已经交换过的公文格式、工作流程等方面的信息,从软件设计上避免相关部门每次都交换此类信息而造成的性能低下等情况的发生,同时,还将对已交换数据做统一的备份和整理,保证某一部门的故障不会影响到其他部门系统的正常使用,保证工作的连续性。

进一步,同步接口单元包括了字段的转换、清洗、拼接等方式,在一个数据集成任务中,oracledataintegrator的声明设计是在称为“接口(interface)”的里面使用关系图(relationalparadigm)的形式去声明这些规则的,数据源就人员基本信息表,目标就是教务系统系统,转换就是基本信息表和单位表单之间的连接,以及每个单位的信息聚合,采用声明设计,我们只需要把重点放在真正需要关心的地方,那就是信息系统的集成任务的规则,而不是集成过程的底层技术方面。

进一步,模块配置单元在odi执行的数据同步过程中,需要执行很多个步骤,以完成整个的抽取、转化功能,这就要使用到odi的知识模块来完成这一系列的任务,km(knowledgemodules:知识模块)在odi中是一组代码 模板,在集成过程中,每一个km对应一个特定任务,整个数据集成过程通过选择若干个km代码模板生成执行代码而完成集成工作;

km具有抽象性和可重用性,它是对集成过程规则和过程的描述,是对逻辑任务的抽象,而与具体的物理对象(如数据表、物理路径、列等)无关,在集成时,用户通过调用这些规则和过程,将接口、模型、包中存储的元数据信息(具体的数据库连接、映射关系等)作为参数注入到km中,因此km类似于一个抽象接口,与具体的业务对象分离开来,从而使得一个km能够被多个集成项目可用,因此km是对数据集成过程和规则的高度抽象和总结,通过开发一整套的km库可以极大的降低数据集成的复杂度;

odi平台为不同的集成场景和过程准备了多个km,用户可以通过调用这些km完成不同的集成需求;另外km也允许用户自己扩展、重写,当已有km模板无法满足集成需求时,可以通过自定义编写km而完成特殊场景下的个性化需求;

odi根据集成过程和功能的不同将km分为以下几大类:rkm(reversekm)、ck(checkkm)、lkm(loadkm)、ikm(integretionkm)、jkm(journalizingkm)、skm(servicekm),每一类km完成特定类功能。

进一步,发布同步单元信息是系统中变化数据的捕获使用的是一个发布和订阅模型,一个被系统识别的订阅者—比如是信息系统到教务系统的一个集成过程—订阅那些发生在信息系统中数据存储的变更,在人事管理系统数据存储中的数据变化能够被数据集成系统的cdc架构捕获并发布给订阅者,并且这个过程是在任何时间都能够获得被跟踪的变更,进而处理这些事件;

开发完接口,配置好系统执行的知识模块后,我们将接口拖入到开发包中,让数据从数据源头流入到目标数据库中,经过编译后,就可以发布运行;

odi的实时同步和定时同步是odi集成过程的计划执行的方式,不管是全量还是增量都可以实现近实时同步,odi计划的设置组合很多,如果要达到近实时同步,只需要在执行那里设定启动时,执行循环那里设定多次,重复间隔设定你需要的时间,但是增量的实时同步的性能在大多数情况下是优于全量的,原因是它本身已经缩短了执行时间,在odi系统中时间的设定可以设定到秒级。

进一步,信息系统单元内部设置有公文办理模块、在办状态模块、公文代办模块、公文查询模块;

公文办理模块通过公文办理模块能完成日常公文处理工作;

在办状态模块通过该模块能准确查询公文的办理情况;

公文代办模块能让特殊用户代表其它用户办理公文工作;

公文查询模块能让用户及时查询已办结的公文信息。

进一步,公文流转子系统包含有:公文处理模块、公文代办模块、公文查询模块;

公文处理模块将实现13种公文的收文和发文工作,子模块划分为:发文拟办、待收公文、待办公文和待阅公文;

公文代办模块是实际工作中偶尔会遇到相关负责人员出差或因某些原因暂时离开岗位的情况,所以本系统还设置了公文代办模块,如,能够让临时离开岗位的用户将其公文处理的职责临时指派给其他用户,请其他用户代为处理一段时间内的公文,以提高工作效率,同时,用户还可以随时查询他人为其代办的工作情况;

公文查询模块分为两类:公文的在办状态查询和公文的历史信息查询;

在办状态查询是指对目前正在流转的公文工作进行查询,以帮助用户快速的找到相应的公文进行跟踪和办理;历史信息查询是指对已经流转完毕的公文进行查询的阅览,类似于历史档案的查询,方便用户获取已经存在的知识和经验,也为工作考核提供一定的数据依据。

本发明的优点在于,整合整个校园的数据和应用,并将它们在一个统一的视图中进行展现是一个复杂的任务。大量的不一致性不仅仅体现在校园各个系统的技术、数据结构和应用功能上,而且在整体的校园信息化体系结构上也存在着基本的差距。有一些集成需求是面向数据的,尤其是那些对大数据量的需求。还有一些其它的集成项目是基于事件驱动的体系架构(eda)或者面向服务的体系架构(soa),如异步或同步的集成,设计新颖,是一项很好的设计方案,很有市场推广前景。

附图说明

下面结合附图和具体实施方式来详细说明本发明:

图1是本发明公文系统软件架构图

图2是本发明部署结构图;

图3是本发明公文交换总控服务器图;

图4是本发明区级公文缓存及备份模块图;

图5是本发明政务数据交换平台应用模图;

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合图示与具体实施例,进一步阐述本发明。

如图1、图2、图3、图4所示,基于工作流的数据集成系统,该系统包括同步接口单元、模块配置单元、发布同步单元、信息系统单元;

对数据集成,eai集成架构中的点到点架构虽然可以很好地将数据从一数据源转换到另一源,但是每种点到点的构架方法都只是一种特例化的方法,而当数据源数目巨大时,很难以支持新的数据源加入,而etl指的是从异构的数据源抽取数据并进行转换最后装载到数据仓库,针对etl概念,vassiliadis等人提出了一种过程模型,该etl过程模型从不同的数据源抽取数据然后经过转换最终装载入目标数据库中,相对于数据仓库而言,数据集成领域的etl有其自身的一些特点,如数据差异性更大,不仅是结构化的数据,可能还涉及到半结构化数据和非结构化数据;同时数据抽取,转换和加载等操作往往在不同的地方,需要远距离传输,考虑到性能需求需要尽量减小网络开销,因此,可以通过对etl的扩展和修改以解决金融领域数据集成的问题;

经过总体架构设计、集成开发、部署运行直至项目圆满完成的一个流程,此流程作为实施人员进行高校数据集成时的指导,具体步骤是:

(1)搜集数据集成需求,并进行需求分析,整理成需求文档,以便成为项目实施的基础,因此需求分析是整个数据集成项目的关键;

(2)确定数据集成总体框架,对整理出的需求,构建数据集成的总体架构,以集成中心库为中心,实现与各业务系统数据的交互;

(3)数据集成平台的安装:包括集成工具的安装,数据库的安装;

(4)集成开发:根据需求和总体架构,利用集成工具,实施数据集成中实际业务需求的项目设计;

(5)部署运行:将实施完成的项目部署到服务器上,并进行相应的配置:

信息系统单元包含有公文交换总控模块、公文信息缓存及备份模块、公文流转子系统:

公文交换总控模块为各公文流转子系统提供了交换请求接口,一旦交换中心接受到交换请求后,便根据请求的实际配置情况,主动抓取需要交换的公文数据进行区层面的保存及整理,随后再将必要的数据主动推送到目标部门服务器,如果目标部门尚未配备公文服务器,则自动推送到区公用公文流转子系统中,同时,交换中心还将适当的触发各类消息提醒机制,主动提醒相关人员进行及时处理;

公文信息缓存及备份模块该模块将通过一定的效验机制,缓存已经交换过的公文格式、工作流程等方面的信息,从软件设计上避免相关部门每次都交换此类信息而造成的性能低下等情况的发生,同时,还将对已交换数据做统一的备份和整理,保证某一部门的故障不会影响到其他部门系统的正常使用,保证工作的连续性。

进一步,同步接口单元包括了字段的转换、清洗、拼接等方式,在一个数据集成任务中,oracledataintegrator的声明设计是在称为“接口(interface)”的里面使用关系图(relationalparadigm)的形式去声明这些规则的,数据源就人员基本信息表,目标就是教务系统系统,转换就是基本信息表和单位表单之间的连接,以及每个单位的信息聚合,采用声明设计,我们只需要把重点放在真正需要关心的地方,那就是信息系统的集成任务的规则,而不是集成过程的底层技术方面。

进一步,模块配置单元在odi执行的数据同步过程中,需要执行很多个步骤,以完成整个的抽取、转化功能,这就要使用到odi的知识模块来完成这一系列的任务,km(knowledgemodules:知识模块)在odi中是一组代码模板,在集成过程中,每一个km对应一个特定任务,整个数据集成过程通过选择若干个km代码模板生成执行代码而完成集成工作;

km具有抽象性和可重用性,它是对集成过程规则和过程的描述,是对逻辑任务的抽象,而与具体的物理对象(如数据表、物理路径、列等)无关,在集成时,用户通过调用这些规则和过程,将接口、模型、包中存储的元数据信息(具体的数据库连接、映射关系等)作为参数注入到km中,因此km类似于一个抽象接口,与具体的业务对象分离开来,从而使得一个km能够被多个集成项目可用,因此km是对数据集成过程和规则的高度抽象和总结,通过开发一整套的km库可以极大的降低数据集成的复杂度;

odi平台为不同的集成场景和过程准备了多个km,用户可以通过调用这些km完成不同的集成需求;另外km也允许用户自己扩展、重写,当已有km模板无法满足集成需求时,可以通过自定义编写km而完成特殊场景下的个性化需求;

odi根据集成过程和功能的不同将km分为以下几大类:rkm(reversekm)、ck(checkkm)、lkm(loadkm)、ikm(integretionkm)、jkm(journalizingkm)、skm(servicekm),每一类km完成特定类功能。如下表1所示。

表1odi系统km包类型

下面我们就以系统中具体的ikm包来分析odi知识模块的工作过程,ikm的作用是将转换后的最终数据加载至目标中,ikm在使用前在确保所有数据都事先通过lkm加载到了临时区域,ikm直接从临时区域中获取数据。ikm根据临时区域位置的不同分为两种类型。第一种类型为临时区域在目标上的ikm,另一类为临时区域不在目标端上,其处理过程为:首先在接口中根据实际场景选择ikm类型,其中源是临时区域的c$表,经过转化生成结果集,结果集存放在i$表中,再由i$表合并到目标表当中,如果加入ckm,则合并过程中不符合规则的数据通过ckm放到e$表当中。

首先ikm包需要在源数据库中间建立一个临时表,即存储人员基本信息的临时表,用于加载临时数据。

在ikm创建完临时数据后,就从源表人员基本信息表中读取业务信息,插入到上一步所建立的临时表中。

在进行与目标表数据进行一致性检测的时候,需要同时标记需要更新的数据行。下面的语句为标记需要更新的临时数据的sql语句。通过下面的语句,就可以搜索出哪些人员基本信息数据需要更新,方便随后的步骤处理。

通过对信息系统和教务系统的人员基本信息数据进行比对,经过标记需要处理的所有的数据后,odi就通过以下的语句向目标系统的数据库提交更改临时数据,准备需要集成的数据信息。

经过上面的所有的处理之后,odi系统已经在临时表空间中表明了需要更新、插入的人员继续信息,此时就需要将这些变换向目标表即教务系统更新信息,以完成整个数据集成工作。

进一步,发布同步单元信息是系统中变化数据的捕获使用的是一个发布和订阅模型,一个被系统识别的订阅者—比如是信息系统到教务系统的一个集成过程—订阅那些发生在信息系统中数据存储的变更,在人事管理系统数据存储中的数据变化能够被数据集成系统的cdc架构捕获并发布给订阅者,并且这个过程是在任何时间都能够获得被跟踪的变更,进而处理这些事件;

开发完接口,配置好系统执行的知识模块后,我们将接口拖入到开发包中,让数据从数据源头流入到目标数据库中,经过编译后,就可以发布运行;

odi的实时同步和定时同步是odi集成过程的计划执行的方式,不管是全量还是增量都可以实现近实时同步,odi计划的设置组合很多,如果要达到近实时同步,只需要在执行那里设定启动时,执行循环那里设定多次,重复间隔设定你需要的时间,但是增量的实时同步的性能在大多数情况下是优于全量的,原因是它本身已经缩短了执行时间,在odi系统中时间的设定可以设定到秒级。

在开发需要注意的问题:不管是增量,还是全量,都需要充分理解执行计划的设定。如果是多用户订阅,数据在没有订户消费的情况下,不要提前将数据分发给订户,否则会造成临时区域数据大量积压,甚至超过原表的记录。

进一步,信息系统单元内部设置有公文办理模块、在办状态模块、公文代办模块、公文查询模块;

公文办理模块通过公文办理模块能完成日常公文处理工作;

在办状态模块通过该模块能准确查询公文的办理情况;

公文代办模块能让特殊用户代表其它用户办理公文工作;

公文查询模块能让用户及时查询已办结的公文信息。

实现工作流功能,灵活的定义各类工作流程信息,便捷地进行事后调整,实现各类公文格式管理功能,利用所见即所得的方式让用户能够方便的设置出符合国家和地方标准的公文格式,规范公文的处理、阅览和打印,实现电子签名功能,能够在线显示领导的手写签名,并进行加密控制,建立区级公文交换总控平台,以保证各部门之间的信息同步、公文交换、消息提醒功能,同时提供缓存池,保证系统的高效运行,采用分层模式开发,与区认证中心、消息中心关联,充分利用已有的公共服务组件平台,调用已有接口,降低开发成本,优化办公系统框架,提高响应速度、改善用户体验、提高可用性,实现办公系统及公文流转与交换系统标准的数据接口,为日后第三方系统(如:档案归档系统、信息公开系统等)的数据共享打下伏笔。

文交换过程将统一由区交换中心控制,所有交换数据都将在流经交换中心后被主动推送至目标部门,以达到统一管理、统一备份、统一配置等目的。

进一步,公文流转子系统包含有:公文处理模块、公文代办模块、公文 查询模块;

公文处理模块将实现13种公文的收文和发文工作,子模块划分为:发文拟办、待收公文、待办公文和待阅公文;

公文代办模块是实际工作中偶尔会遇到相关负责人员出差或因某些原因暂时离开岗位的情况,所以本系统还设置了公文代办模块,如,能够让临时离开岗位的用户将其公文处理的职责临时指派给其他用户,请其他用户代为处理一段时间内的公文,以提高工作效率,同时,用户还可以随时查询他人为其代办的工作情况;

公文查询模块分为两类:公文的在办状态查询和公文的历史信息查询;

在办状态查询是指对目前正在流转的公文工作进行查询,以帮助用户快速的找到相应的公文进行跟踪和办理;历史信息查询是指对已经流转完毕的公文进行查询的阅览,类似于历史档案的查询,方便用户获取已经存在的知识和经验,也为工作考核提供一定的数据依据。

政务数据交换平台应用模型:

按照国家政务信息资源交换体系的要求,交换域内交换平台应用模型的结构包括交换前置系统、中心交换系统、交换网络、共享信息库、应用服务器、政务网络,如图5所示。交换平台应用模型可以支持部门业务信息通过交换前置系统与其它部门业务信息之间的交换,可以支持部门业务信息通过交换前置系统与共享信息库之间的交换,可以支持应用终端对共享信息库的授权访问。

调用应用系统资源的方法:

政务系统调用应用系统资源时,要求各应用系统按照信资源整合标准开发相对应的接口,通过调用各应用系统接口,将调用的资源信息组织成js的json字符形式将信息生成到办公系统中进行处理。根据json字符组织形式解析json字符串,然后在相应页面上显示效果。

ajax技术在政务办公系统中的应用

使用具有异步交互能力的ajax技术能够提高站点的灵活性和性能,本系统在多个应用模块中使用了ajax技术,使得客户端与服务器的通信能够异步进行,从而提高了用户的使用体验和系统的性能。该技术在本系统中主要应 用在如下几个方面:

(1)数据校验

在输入表单内容时,通常需要确保数据的唯一性。传统做法是在页面上设置校验按钮。用户点击之后,弹出一个校验窗口;或者等表单提交到服务器端,由服务器判断后在返回相应的校验信息。前者,window.open操作本来就是比较耗费资源的,通常由window.showmodaldialog代替,即使这样也要弹出一个校验窗口;后者,需要把整个页面提交到服务器并由服务器判断校验,这个过程不仅时间长,而且加重了服务器的负担。若采用ajax技术,那么这个校验请求完全可以由xmlhttprequest对象发出,通过异步方式将参数直接提交到服务器,由window.alert将服务器返回的校验信息显示出来,整个过程不需要弹出新窗口,也不需要将整个页面提交到服务器,提高效率的同时,又不加重服务器负担。

在系统开发中数据有效性验证是必须的,数据的验证的含义有两方面,一是数据格式正确性验证,另外一种是数据数值验证。数据格式的验证一般是在客户端进行,以减少网络数据传输和服务器端的负担,而数据数值的验证则需要在服务端进行。在使用ajax技术进行数据验证时,应该确保数据格式验证要优先于数据数值验证。在用户端,用户在表单文本域相应文字输入完成后,即进行校验,格式校验在客户端完成,否则就发出ajax异步请求在服务端进行数值校验,用户继续其它操作,在服务器返回结果时就能看到输入数值是否合法的提示,对于不合法的输入用户可以进行更正,利用数据验证功能增强了系统的交互性能,避免了用户的重复输入,减少了重复刷新页面给服务器带来的负担。

(2)数据动态加载

本系统涉及的政务数据量大,而菜单结构又较为复杂,菜单级别较多、每一级又含有上百个项目,如果用户不对菜单进行操作或只对菜单中的一部分进行操作,则读取的数据中有一部分会成为冗余数据而浪费用户的资源,影响用户体验。

为了提高系统的数据加载速度,本系统使用ajax的树形动态技术加载数据。以树形动态加载文件需要用到两个表:文件信息表和节点信息表。其中 文件信息表由文件的编号、名称、描述、属性、路径和节点编号等字段组成;节点信息表用来记录各个节点的变化,由节点的编号、描述、层次、父节点编号和子节点数量构成,文件信息表和节点信息表通过节点编号字段进行联系。

系统管理者可根据需要设置文件节点编号,形成树形结构,方便用户查看。页面首次加载时只加载根目录数据和查看文件的url,如果一个根节点下有子节点,则在文件名称前添加相关图标,并给图标指定一个id,同时对该节点创建一个onclick事件,点击事件发生时系统将调用js的相关函数。如果子节点数据己经显示则隐藏并改变提示图标,否则系统首先判断是否己加载子节点数据,如果没有则加载相应的子节点。

利用ajax技术和树型结构动态加载文件信息时,只须对用户所需要的节点内容进行更新或加载,避免了一次加载所有数据所带来的性能弊端,减少了数据冗余和数据流量、减轻了服务器负担、节省了网络带宽,使系统响应速度更快。

在初始化页面,只读出第一级的所有数据并显示,在用户操作一级菜单其中一项时,会通过ajax向后台请求当前一级项目所属的二级子菜单的所有数据,如果再继续请求已经呈现的二级菜单中的一项时,再向后面请求所操作二级菜单项对应的所有三级菜单的所有数据,以此类推。简而言之,就是“用什么取什么、用多少取多少”,杜绝数据的冗余和浪费,减少数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于后台处理并重载的方式缩短了用户等待时间,也把对资源的浪费降到最低。在数据的加载同时,由于ajax技术的异步性特点使得用户仍然可以继续其他页面的操作,用户的使用体验得到了很大的提升。

(3)多阶段下载模式

下载速度是web应用系统面临的巨大难题。随着高新技术的不断发展,网页同样包含了更多的多媒体信息、图片以及更加丰富的内容,导致下载速度越来越慢,影响用户体验。而ajax可以弥补这方面的不足

多阶段下载(multi-stagedownload)是一个载入页面的ajax模式,它可以实现不再随机下载页面内容,而是由开发人员决定下载的时间、顺序以 及内容。具体来说,就是首先向用户显示最关心的内容,然后再开始下载其它组件。如果用户在所有组件下载完成之前离开页面,则放弃后续下载;如果用户在该页面停留的时间较长,则在后台载入其他功能,以便用户需要时可以直接使用,缩短应用系统的响应时间。

(4)失效处理模式

传统的web应用系统中经常遇到服务器出错的情况,一般来说,管理员不会提出额外的解决意见,仅根据页面返回的状态提示错误内容大致分析原因,提交工作记录,而用户无法得到及时有效的解决方案。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。

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