数据字典范文
时间:2023-03-30 03:59:13
导语:如何才能写好一篇数据字典,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关系数据库系统作为软件企业核心的数据处理系统,不仅在我国取得了十分广泛的应用,而且对我国信息化建设发展具有重要的作用与意义。而数据字典系统作为保证关系数据库系统正常运行的最基础软件,在很大程度上影响着关系数据库系统的运行状况具有重要影响。而本文笔者将对关系数据库系统的数据字典系统进行深入的分析与研究。
【关键词】关系数据库 管理系统 数据字典 研究
作为关系数据库系统功能实现的最核心软件,数据字典系统的设计与实现是十分重要的。只有做好数据字典系统的设计,才能有效的保障关系数据库系统的正常、稳定运行。本文将对关系数据库系统中的数据字典系统进行分析与研究。
1 数据字典物理存储
1.1 数据字典的定义
数据字典的一个重要作用就是提供最终用户数据库所有的信息,在物理存储上就采用跟其他用户表一样的实现,提供统一的接口。而数据字典的主要作用还是提供给DBMS自身使用,在实现上还跟整个数据库的结构功能相关。
1.2 数据字典的逻辑功能
具体来说,关系数据库中的所有数据信息与关联都与数据字典有着十分紧密的联系。数据字典具有着对关系数据库中的所有对象进行定义的逻辑功能,除此之外,数据字典还可以对关系数据库中的序列值进行默认、对数据库中的各种信息进行约束、对数据库中的用户信息进行存储和统计、对数据库中的用户权限进行分辨,并且还可以对数据库中的各种信息的定义以及它们之间的关联进行操作与辨别。
由于关系数据库之中的各个对象之间存在着较强的关联性,当用户对某一对象进行删除操作时,往往会由于该对象与其它对象之间的关联程度与类型不同而产生一定的影响。例如数据库用户在PRLMARY KEY上建立起一个unique index文件,而这个unique index文件的主要功能就是帮助PRLMARY KEY实现其自身的功能任务。而由于PRLMARY KEY是依附在一个数据表中的,当删除表或是表中的相关信息有所变动时,依附于这个表存在的PRLMARY KEY中的unique index里的信息也会相应的被删除或有所变动。而数据字典负责的功能就是将关系数据库中发生的这些关联信息与操作完整的记录和保存下来。通常来说,关系数据库中的所有这些关联对数据库的用户都是公开透明的,而另一种情况就是数据库用户为了方便自己的操作或是其它因素,在对数据库中的对象进行删除操作时需要加上由用户自己设定的关系语句才能实现删除操作,当此删除操作实现时,与该对象有着密切关联的其它信息也会一并被删除。
1.3 物理记录的存储格式
关系数据库中的数据字典与用户数据都是以表的形式被记录保存在关系数据库的物理文件中的,并且关系数据库管理系统中有着多种物理存储格式,每一种物理存储格式都有着各自不同的特点,相互之间具有较大的差别,而这都是由于关系数据库管理系统中并发模式类型的不同造成的。现阶段,我国的数据库管理系统将加锁模型与多版本模型作为最为主要的两种并发模型。其中加锁式并发模型的特点是记录格式简单、无需版本信息就能实现,如SQL Server并发模型。而多版本并发模型主要有Oracle数据块并发模型。该种并发模型不仅需要用到物理记录来对数据库中的版本信息进行记录,而且还需要物理格式的帮助来实现对数据库系统的并发控制及相关的事务处理,比较复杂。
2 数据字典内存表示
2.1 CACHE作用
关系数据库管理系统能够通过对数据字典中的信息数据进行读取来获得数据用户以及数据库中的对象与存储信息,当数据库用户需要对某些数据进行查询和相关的操作时都需要利用其所发出的SQL语句来对数据字典中的信息进行查询,查询频率非常高。现阶段,我国的数据库管理系统主要由两部分组成,即CACHE与RELCACHE。其中CACHE主要负责的是对数据库管理系统中的表进行存放。在该部分中,一个系统表能够利用ID查询、NAME查询与主键查询中的任意一种方式进行查询,除此之外,用户也可以通过部分键对该系统表进行查询。当查询操作完成后,关系数据库系统会根据数据字典的分析最终弹出用户需要寻找的表格。
而RELCACHE部分的每一项都是一个RELATION结构,该结构对此结构中的所有数据信息与关联进行了记录与保存。并且此结构能够将关系数据库系统中的所有与需要查询事件相关联的描述信息进行联合构造,以更好的满足数据库用户的需求,提高关系数据库管理的质量与水平。
2.2 数据库的启动与CACHE的初始化
使关系数据库能够启动并发挥其应有的作用,操作人员至少要做好以下三个步骤,即将一个实例启动,之后对数据库系统进行装配操作,第三,将数据库系统打开。使数据库的CACHE系统得以初始化的方式有两种:第一种,在数据库系统建立时进行CACHE的初始化,主要负责对数据库系统的内存进行分配;第二种,数据库系统已经建立完成后在启动时进行初始化操作,此时,内存已经分配完毕,用户只要正常进行启动操作就可以完成CACHE的初始化。
3 结束语
本文主要对关系数据库管理系统的数据字典程序进行了分析介绍与研究,希望能够进一步推动我国关系数据库系统的管理质量,促进关系数据库系统的进步。
参考文献
[1] 程阳.关系数据库管理系统的一种简易的数据存储与查询模块的设计与实现[D].华中科技大学(硕士学位论文),2012.
[2] 冯玉才,李东,王元珍,曹忠升.一种移动数据库管理系统的体系结构[J].计算机研究与发展,2011,38(5): 620-625.
[3]何新贵,唐常杰,李霖.特种数据库技术――数据库技术丛书之一[M].北京:科学出版社,2010.
篇2
关键词:数据库;加密技术;电子商务
中图分类号:TP309.7文献标识码:A文章编号:1007-9599 (2010) 07-0000-01
Application of Database Encryption Technology in E-Commerce System
Gao Xiang
(Guangdong Ocean Engineering Vocational School,Guangzhou510320,China)
Abstract:E-commerce system is internet-based platform,from the technical point of view,there are many factors of insecurity in the global network.Features include e-commerce itself-open,virtual,network,e-
commerce system,which made strict security requirements is to open and rational solution to the network and the conflict between security.Database of e-commerce system of a base platform,which preserves a large number of important data,shared by many users.So database security problems is very important when developing e-commerce system.
Keyword:Database;Encryption technology;E-commerce
一、加密数据库模型的框架设计
模型采用典型的Client/Server结构。在客户端,我们要实现一个加密字典管理程序和一个测试平台。加密字典管理程序的功能是:根据加密需要对加密字典中的数据进行管理,例如对加密字段描述信息进行维护、对授权用户信息进行维护、以及对数据密钥进行维护。客户平台则完成对加密数据库授权用户的身份验证、数据库用户私钥的解密,加密字段数据密钥的解密,以及提出查询需求。在服务器端,我们要实现一个加解密引擎,处理从客户端发来的对加密数据库的访问请求并将结果返回给客户端。模型的总体框架如下图:
图1-1加密数据库模型的总体框架
应用系统创建数据库应用表之后,用户通过运行图形化界面―加密字典管理程序,定义哪些应用表中的哪些字段的数据需要加密。加密字典管理程序将把这些用户定义信息存入加密字典中。应用表加密后,用户还可以使用加密字典管理程序修改加密定义,重新指定加密表或加密字段。数据库加/解密引擎是该系统的核心部件,负责在后成数据的加/解密处理。当应用程序向数据库插入或更新数据时,加解密引擎根据加密字典中的信息,确定当前数据是否需要加密,如果需要加密,则对数据加密后再写入数据库中。同样当应用从数据库中检索数据时,加密系统根据加密字典中的信息判定是否需要解密,如果需要解密,对数据进行解密以后再交给应用,存储在数据库中的数据仍然是密文。加密字典管理程序是一个特殊的数据库应用。加密字典管理程序需要对数据字典进行读操作,对加密字典进行写操作。数据字典和加密字典存储在数据库中并且是不加密的,为了加快执行速度,
加密字典管理程序执行这些操作时不通过加/解密引擎直接与客户端平台通信。另一面,当用户提交数据加密的定义要求时,加密字典管理程序通过加/解密引擎,实现数据明文与密文之间转换的功能。
当用户通过测试平台登录到加密数据库并成功后,测试平台会与加密字典进行交互,从加密字典中找到该用户的加密形式私钥,并解密得到用户私钥。当要访问到某个加密字段的时候,测试平台也会从加密字典中找到相关的数据加密拷贝,并解密得到数据密钥。当在客户端的测试平台上执行涉及到加密字段内容的SQL语句时,测试平台会与加解密引擎交互,将查询需求转由加解密引擎去处理。然后,加解密引擎与加密字典以及DBMS核心交互,完成对数据的加解密,并将正确的结果返回到客户端。
当在测试平台上提出的数据库访问请求不涉及到加密字段时,客户端测试平台会跨过加解密引擎,直接与DBMS交互,完成对普通数据的访问。以下对各个设计模块分别进行描述。
二、加密字典管理
(一)结构设计
加密字典管理是管理员定义加密字段的工具,它提供了用户管理、加密字典配置、信息检索、加密字典权限管理等功能,利用数据库加密解密引擎完成对数据的加解密处理。数据库加密系统对加密数据的所有操作均需要加密字典的支持,都需要以加密字典为基础。在加密字段的添加和删除过程中,需要调用加密字典配置、信息检索以及加解密引擎模块来实现。其流程如图2.1所示。
(二)用户登录
用户登录是数据库管理员启动加密字典管理程序后必须通过的身份验证模块,该模块防止未授权人员使用加密字典管理程序,确保加密字典的安全。它主要包括用户登录、身份验证、口令加密功能。用户身份认证的流程如图2.2所示,以提高系统用户访问的安全性和可靠性。
(三)加密字典配置
管理员首先通过加密字典配置划分应用程序的用户类、数据类以及每个用户类所拥有的数据类的权限信息,并给合法用户授权;然后按照配置调用密钥管理模块完成用户密钥、用户类密钥以及数据类密钥的生成分配以及存储。加密信息配置表存放由管理员根据用户需求定义的加密配置,实现向加密字典表中添加,更改或删除加密字段的功能。它调用表信息检索模块和加解密引擎,完成一个表的加密定义修改任务。该模块是加密字典管理程序的主要功能模块。
(四)信息检索
该模块从系统的数据字典中检索出与某个表有关的各种信息,放入结构变量,这些信息包括表名、表标识、主键定义、字段定义等,供其他模块使用。信息检索函数的输入是字段名称和表名称,输出是满足条件的表信息结构体,该模块被加密字典配置模块调用,共同完成加密字段定义的变更。
三、数据加解密引擎客户端测试平台的设计
在客户端设定一个测试程序,来完成访问加密数据库中数据的功能。在向服务器端发送真正的查询或其它操作的请求之前,客户端必须先完成用户登录等一系列工作。在我们的设计中,当一个用户输入登录信息(包括加密数据库的信息,用户名,口令)之后,程序会做以下工作:
(1)输入的信息去与数据库建立连接,若建立连接成功,则说明用户的用户名与口令相符,用户输入的口令有效;如果建立连接失败,则用户名与口令不相符,终止并退出程序。
(2)输入的口令进行加密,执行MD5加密算法,生成口令的MD5加密值。
(3)根据用户名生成一个SQL查询语句:
“SELECT encrypted_private_key From master.dbo.Authorized_User WHERE authorized_login_name=‘”&username&”’”
在应用程序中执行该SQL语句,就可以从加密字典中的Authorized_User表取出用户的密文形式私钥。当数据库用户还不是加密数据库合法用户时,就不具有公钥/私钥对。此时,客户端程序会给出提示。
(4)针对上一步骤取到密文形式私钥,执行DES算法进行解密,解密密钥是步骤2得到的口令MD5加密值。得到用户的私钥,存入应用程序的全局变量private_key中。
在客户端程序中要访问到某个加密字段时。首先客户端程序会先生成一个SQL语句,去查询加密字典中的Encrypted_Table表、Encrypted_Column表、Authorized_User表中的Encrypted_Key表。该SQL语句形式为:
“SELECT k.encrypted_data_key From master.dbo.Encrypted_Table t,
Master.dbo.Encrypted_Column c,master.dbo.Encrypted_Key k WHERE
k.authorized_login_ID=l.authorized_login_ID and
k.encrypted_column_ID=c.encrypted_column_ID and
t.encrypted_table_ID=c.encrypted_table_ID and
t.original_table_name=‘”&tabkename&”’and
l.authorized_login_name=‘”&username&”’”
这样,根据要查询的表的表名,以及用户名,就可以得到该表中针对加密字段的数据密钥(密文形式)。要申明的一点是,如果数据库用户不是加密字段的授权用户,则取到的将是空值。
在客户端程序中执行RSA算法,对取得的密文形式数据密钥进行解密,解密密钥就是存储在全局变量private_key中的用户私钥,得到数据密钥,存入全局变量data_key中。
执行用户的访问要求。当涉及到加密字段的访问时,服务器就会利用视图机制去执行查询操作,或者是执行执行插入/修改操作。当视图或触发器中需要用到数据密钥对密文数据进行加密解密的时候,可以从应用程序上下文中取得。
参考文献:
[1]王谦,陈放.加强电子政务信息安全保障体系建设[J].安防科技,2009,3
[2]张基温.信息安全实验与实践教程.清华大学出版社[M],2005
[3]季厌浮.具有等级性的密钥管理方法的设计[J].煤炭技术,2009,1:91-93
[4]李黎明.敏感数据库加密算法与密钥管理[J]..计算机与现代化,2005,(7):94-97
篇3
关键词:录入表 数据字典 业务单据
中图分类号:TP319 文献标识码:A 文章编号:1672-3791(2016)04(b)-0000-00
一个成熟的软件系统最关键的部分之一是系统的人机交互界面,如何根据业务单据需求开发出符合实际需要的通用录入表格并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务单据的变化做出程序上的变动,例如字段内容的添加、减少,字段顺序的调整等等),通用录入表设计解决的就是这一问题。通用录入表由数据字典组件和单据组件组成,数据字典提供每一个字段和字段代码集的选项,而单据组件则负责显示那些字段及如何显示。
1 设计思路
一般录入表格开发都是由开发人员利用现成的表格控件(例如:华表Cell,SpreadSheet等)通过手工拖拽、在表格控件上进行增行、增列、设置格式、公式、着色的开发,这种开发是比较直观的,但缺点是不能保证每一个开发人员做出的界面完全一致,而且当业务需求改变时,改变的工作量很大。鉴于此,通用录入表的设计思路是利用程序从数据库中读取字段配置信息,为表格控件设置相应的属性,并按一定规则排列,形成用户所需求的界面。后台的配置部分提炼总结成数据字典组件,前台的显示部分抽象为业务单据组件。
2 数据字典组件程序设计
数据字典是有目的地对信息系统数据与知识、元数据与元知识进行存储与管理的逻辑抽象信息系统。数据字典组件通过提供基础数据维护、查询与同步功能,其作用主要体现为在建立数据标准的基础上,通过抽象数据元,实现业务数据信息项的规范统一,通过定义业务要素,实现标准数据代码表的规范统一,从而为单据组件提供一个可随时获取表及字段信息的数据来源。
数据字典不仅记录了信息系统中的各种数据和知识,还记录了对数据和知识进行恃性刻划与抽象的元数据和元知识,使数据字典独立于实际应用信息系统。报告、图形生成工具负责软件系统所有文档资料的自动生成;数据物理存储模式转换工具使数据字典面向任意的计算机软件平台;实例系统生成工具运用数据字典中的元数据文件与元知识文件,通过向用户提供的友好界面,根据用户的选择与输入的参数生成可实际运行的信息系统;软件系统开发人员通过使用用户问答询问工具,可以看到任一层次数据对象的有关情况;字典接口提供了一系列数据字典数据访问过程调用,使数据字典能从信息系统分析工具获得原始数据,从程序设计语言形式文法分析工具获得对应语言的语法、语义规则集,使信息系统的辅助系统结构设计与程序自动生成工具能够从数据字典中获得所需要的系统数据,使多个数据字典实现数据的可相互操作性,形成一分布式数据字典系统.另外,字典接口也是扩充字典功能与用途的唯一入口.
数据字典的功能包括数据元管理、业务要素管理、代码表管理及数据表及表字段管理。
2.1数据元管理: 数据元是用一组属性描述其定义、标识、表示和允许值的数据单元。数据元用于定义数据标准,主要包括:英文短名、中文名称、数据类型、表示格式。该功能是管理业务基础数据元目录,为实现业务数据标准统一,提供基本依据。
2.2业务要素管理:业务要素是有具体业务含义的业务信息项,如机构信息、收款单位等等。该功能对业务要素属性进行管理,包括其编码、名称、代码表编码方式和存储位置、使用规则等等。
2.3代码表管理: 代码表存放业务要素代码的表,也特指某一业务要素的代码集合,该功能是对代码表的增加、减少、修改等业务进行管理。
2.4数据表及字段管理:是对数据库中的表及字段的进行管理。主要维护的表包括代码表以及存放业务数据的表。
3业务单据组件程序设计
业务单据组件通过利用数据字典组件,建立存放数据的数据库与人机界面的通道,并实现数据的增、删、改、查等操作。
业务单据设计要有依据,不能以个人的意愿强加于管理,即使个人的管理愿望是有助于单位管理的,也必须取得单位的认可。一个业务单据的产生,一是要服务于民众或涉众管理的群体,不是满足个人特定管理需要进行单据的设计,这就要求单据设计者必须本着客观真实,为同一职业操守者服务的角度,进行单据的整体设计;二是必须符合公司管理的需要,每个岗位都是公司整体运营不可获取的一份子,那么公司从公司管理的角度,决定着单据的设计必须有法可依,可控管理。
业务单据的具体功能包括业务单据类型管理、单据定义管理、属性管理、查询域管理、功能管理、来源管理、单号产生规则管理等功能。
3.1 业务单据类型管理:主要是对业务单据的分类进行管理。
3.2业务单据定义管理:对业务单据进行注册管理,实现将业务单据与数据字典中表定义进行关联。
3.3业务单据属性(展示字段)管理:对单据中用到的表字段进行设置,通过数据字典的表及表字段定义进行映射,并设置字段的显示顺序,显示宽度、录入风格(下拉框、弹出框)、公式设置等字段属性进行管理。
3.4业务单据查询域管理:可定义查询单据时采用哪些字段做为过滤条件。
3.5业务单据功能管理: 通过功能注册,实现与业务逻辑的关联;也是与工作流动作关联的接口。
3.6业务单据来源管理:设置源单据与目标单据的对应关系,主要是有些表格的内容不是录入,而是从另一张表格中选择一部分在进行修改,这时就需要对单据的来源单据进行定义。
3.7业务单号规则管理:单据上某些字段是自动产生的,例如单号,流水号等,可通过该功能进行配置。
在前台界面加载时,程序利用单据组件读取各种配置字段,并通过数据字典映射到数据库中,提取预先定制的表样,并根据与数据库中表及表字段映射,实现对业务数据的增、删、改、查操作。配合工作流组件实现单据的自动流转,从而构建一个通用的录入表功能。
4结束语
通过以上的框架设计,如果在MIS中需要添加或修改业务单据,只需要建立新的单据模型或重新配置即可,这样就可以明显提高工作效率,降低维护成本,在MIS系统的建设方面,这种通用录入表设计具有一定的优势。
参考文献
[1] 李洁,王连泽.资金审批工作流组件设计与实现[J]电脑编程技巧与维护,2015(14):198.
[2] 石生,王春雁.信息化情况下业务单据的设计分析[J].科技传播,2013(1上):196-197.
篇4
关键词:dbms复制联邦数据库
1.引言
随着经济的发展,企业的规模越来越大,其积累的信息也越来越多。存在着各部门所处理的信息多数只对本部门有效,仅有少数信息需给其它某些部门共享的问题。这种信息的分布性和独立性要求对所处理的数据进行分类,使各部门既能独立地处理本部门大多数数据,也使部门间能协调处理跨部门的事务。在这种情况下,对整个企业建立一个完全的紧密耦合的分布式数据库是很困难的,也是没必要的,特别是大型企业,这样的数据库的效率往往是很低的。
为解决这个问题,我们采用以下策略:每个部门使用一套紧密耦合的数据库系统,而在存在跨部门事务处理的数据库系统间用一个协调器联起来。这样就组成了一个横跨整个企业,各部门高度自治的联邦数据库系统。
dm2是由华中理工大学数据库多媒体技术研究所研制的数据库管理系统。它采用客户/服务器模型,客户机与服务器,服务器与服务器均通过网络互连,通过消息相互通讯,组成一个紧密耦合的分布式数据库系统。它的工作流程如下:客户机登录到一台服务器上,这台服务器便成为它的服务器;它接收来自客户机的消息,然后根据全局数据字典决定是自己独立完成该操作,还是与其它服务器协作处理这条消息,处理完成之后,再由服务器将处理结果返回给客户机。
而数据字典,作为记录数据库所有元数据的系统表,它向以上过程中提供各类有用的信息,引导它们向正确的方向运行,起着“指南针”的作用。它分为局部数据字典和全局数据字典。其中,局部数据字典用于记录一个服务器站点中数据库的控制信息,如表的模式,视图的模式及各个数据区的的文件名等信息。全局数据字典用于记录分布式数据库系统中各个服务器站点上有关全局数据的控制信息,如服务器站点信息,各服务器站点的全局表名及表内码记录,各服务器站点上的全局数据视图名及视图内码记录,用户名及口令记录,用户权限记录等信息。各个局部数据字典可以各不相同,但为了保证在各个服务器上所看到的全局数据库是一致的,因此,全局数据字典必须一致。我们所关心的是全局数据字典中的基表控制块tv_ctrl_block,它的内容主要包括:全局基表总数,每个全局基表名和其对应的表内码,该基表所在的服务器站点的编号等信息。它的功能是将各个服务器站点号与存储在其上的表名及表内码联系起来。这样,服务器从客户消息中找到被处理的表名,然后通过查询基表控制块tv_ctrl_block,就能知道该表存在哪个服务器上,以便将相关消息发给该服务器。
由于dm2上各个服务器站点的全局字典完全相同,任何全局表的信息都会记入全局字典。若用它来构建一个企业的数据库系统,则大量只对企业某部门有用的信息将会充斥在各部门所有服务器的全局字典中,增加了冗余。而且,当对全局表进行ddl操作时,为了确保全局字典的一致性,须对所有服务器的全局字典进行加锁。dm2对全局字典的封锁方式是采用令牌环方式,即令牌绕虚环(非实环)传输,某个服务器想对全局字典进行操作,必须等令牌到达该服务器才可以执行。每个部门建立的全局表绝大多数只对本部门有用,当对这些表进行ddl操作时,却要对所有服务器的全局字典进行封锁,通过令牌来实现对全局字典的互斥访问。假如,两个部门都要分别对本部门的内部表进行ddl操作,这应该是可以并行处理的操作,现在却只能串行执行。而且,当服务器数目庞大时,每个服务器等待令牌的时间将会很长。这严重损害了数据库的效率。
为弥补以上不足,在dm2的改进版本dm3中增加了协调器,用以联接各个独立的dm3数据库子系统,并协调各子系统间的各种关系,使各子系统既能高度自治地工作,又能进行有效的信息共享。
2.体系结构
本系统可看作多个数据库子系统被协调器联起来的,高度自治的一个联邦数据库系统。其中,每个子系统独立处理本系统内部的事务,而子系统间的信息共享由复制技术提供,副本间的一致性由协调器协调处理,处理所需的信息在初始化时写入协调器的组间数据字典中。当对某子系统中的一份数据副本进行修改时,该子系统会将修改通知协调器,由协调器对该数据的其它副本进行修改,从而保证了所有副本的一致性。
由以上可知,子系统彼此并不直接接触,而是各自都与协调器直接相联,由协调器统一管理子系统间的通信。这样,当子系统对副本进行修改时,不必关心相应的子系统处于何种状态,也不必等待回应消息,以及异常处理,所有这些都由协调器进行管理。因此,既提高了系统运行的效率,也保证了子系统的独立性。其体系结构如下图所示。
协调器主要有三大功能,首先,它对协调器和服务器进行初始化,并将有关信息存入组间字典;其次,它管理不同子系统间的通信,维护副本的一致性;最后,它在子系统出现崩溃时,进行异常管理及恢复工作。
dm3多数据库系统体系结构
3.主要策略
多个dm3系统间的信息共享是通过副本实现的,副本的一致性是由协调器来维持的,是一种弱一致性。通常,多数据库系统间的一致性是通过协调器周期性地访问服务器的日志来完成的。由于副本的更新带有随机性,因此,若采用这种方法,可能数据被修改多次,但其相对应的副本仍未被修改,这样就损害了数据的一致性;也可能数据并未被修改,但协调器已多次访问了服务器的日志了,这样就降低了系统的效率。
所以,本系统采用的方法是当数据被修改时,由服务器通知协调器有关信息,再由协调器通知相关系统,修改相关数据。这样,数据的修改及时(仍然是弱一致性),而协调器也不会在数据未被修改的情况下访问服务器,提高了准确性。
为了使协调器正常工作,我们对底层数据库管理系统dm2进行了修改。在基表控制块tv_ctrl_block中增加一项isreplication。建表时,该项初始化为false;当为该表建立一个副本时,该项赋值为true。具体算法如下。
3.1初始化算法。
协调器:
从用户或应用程序接收待连接的两个系统中的服务器名,需复制的表名;
分别登录到两个系统的服务器上;
向存有待复制表的服务器发预复制消息;
等待服务器消息;
若失败,发一条失败的消息给服务器和用户或应用程序,转11);
若成功,从消息中取出待复制表的有关信息,根据这些信息,发一条建表消息给另一个系统的服务器;
等待服务器消息;
若失败,发一条失败的消息给服务器和用户或应用程序,转11);
若成功,调数据转移程序,进行数据复制;
将有关信息写入组间字典。
退出。
服务器:
当服务器收到预复制消息后,将基表控制块tv_ctrl_block中的isreplication赋为true。同时,取出待复制表的有关信息,组成应答消息发给协调器。
当服务器收到失败的消息后,将基表控制块tv_ctrl_block中的isreplication赋为false。
3.2维护算法。
协调器:
从组间字典读出相关信息,根据这些信息,登录到相应系统上;
等待消息;
从某系统的服务器上收到一条修改消息后,通过查找组间字典,确定该消息的目的地,然后将它转发过去;
若失败,定时重发;
转2);
服务器:
1)等待消息;
2)当收到某客户或应用程序的消息后,检查它是否是修改数据的操作(如delete,update或insert等);
若不是,转7);
若是,检查基表控制块tv_ctrl_block中的isreplication是否为true;
若不是,转7);
若是,向协调器发修改消息;
继续执行服务器程序的其它部分。
3.3恢复算法。
若协调器所联接的系统中有一个跨掉了,则对副本的修改无法及时地反映到跨掉的系统中来。这时,需要恢复算法来进行处理。
协调器:
当协调器发现有一个系统已经崩溃后,采取以下步骤。
将与该系统相关的变量open赋值为false;
打开记时器;
等待消息;
若收到的消息是其它系统发出的修改崩溃了的系统上的副本的命令,则依次将这些消息存储起来,转3);
若收到的消息是记时器发出的时间到的消息,则向崩溃的系统发登录命令;
若登录成功,将open的值改为true;
将存储的消息依次发送过去,转9);
若登录失败,转3);
退出。
4.结论
我们曾在三个dm3数据库系统上,用两个协调器进行联接。结果,运行情况良好,各副本最终都能保证一致,且各副本间存在差异的时间间隔很短。另外,在出现异常的情况下,协调器也能正常工作。
主要参考文献
1.周龙骧等,分布式数据库管理系统实现技术,科学出版社,1998。
篇5
关键词:数据字典;中文信息处理;声母检索;ASCII码
中图法分类号:TP311文献标识码:A 文章编号:1009-3044(2007)15-30803-02
The Method Of Realizing Automatic Calculating The Corresponding Initial Consonant Of Chinese Character
ZHU Kai-mei,TAN Peng
(Institute of Science & Technical Information of Yunnan, Kunming 650051, China)
Abstract:Have brought forward the concept of calculating the corresponding initial consonant of Chinese character voluntarily , have analysed the realizing thought and algorithm based on the Chinese character ASCII code and the Chinese character code national standard GB2312-80 regulation, have introduced main program section of realizing the algorithm.
Key words:Data dictionary;Chinese information processing;Search of initial consonant;ASCII code
1 引言
应用系统中涉及大量数据字典的检索问题,数据字典检索一般方式包括:按编码检索、按汉字检索、按汉字拼音声母检索和直接列表选择等方式。其中,按汉字拼音声母进行检索具有易用、方便的特点,与使用编码检索方式比较具有易记忆的优点,与使用汉字检索方式比较具有输入简单、方便、快捷的优点,是一种符合汉语使用习惯的较综合性、折中的字典检索方式。要使用汉字拼音声母进行字典检索,关键问题是需要在建立数据字典时,根据用户输入的中文信息自动计算出对应的声母,即自动进行汉字对应声母的编码,以透明的方式提供这一转换过程。
2 实现思路
2.1计算汉字的ASCII码
汉字字符在操作环境下是以Unicode双字节编码方式存在,每个汉字字符对应一个整数,在C# 中已经没有直接计算汉字ASCII码的函数,需要通过利用Encoding类的GetBytes进行间接计算:如下:
Byte[] b=Encoding.Default.GetBytes(“啊”)
b[0]: 176
b[1]: 161
int i=b[0]*256+b[1]-65536
2.2根据汉字字符编码国标GB2312-80规则确定ASCII码对应的声母
GB2312-80《信息交换用汉字编码字符集 基本集》,1980年,是中文信息处理的国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码。GB码共收录6763个简体汉字、682个符号,其中汉字部分:一级字3755,以拼音排序,二级字3008,以偏旁排序。
一级字计算根据汉字ASCII码值可以方便地计算出来:其中
声母A对应ASCII码范围是:-20319至-20284
声母B对应ASCII码范围是:-19775 至-19219
……
声母Z对应ASCII码范围是:-11055 至-10247
二级字计算通过编码为固定的声母字符串,当汉字ASCII码值>-10079时,通过对应字符串获取。
3 实现方法
3.1 定义
引用命名空间:System.Text
定义类:Encoding
自定义方法:
(1)计算字符ASCII值函数:Asc
参数:pStr, 字符串型
返回值:Int,字符的ASC码
(2)计算汉字声母函数:Hzpy
参数:pStr,字符串型
返回值:String, 转换后的汉字声母字符串
3.2 算法流程图
3.3 算法描述
(1)判断输入参数字符串是否为空,若为空,则结束。
(2)初始化局部变量。
(3)使用For循环,逐字符进行计算。
(4)利用Asc函数计算当前字符的ASCII码。
(5)根据ASCII值分别计算字符的声母,其中:ASCII值在-10247到-20319,属于一级字库,按拼音顺序排列,可以通过判定值直接得到声母;ASCII值大于0,则取字母“A”到“Z”;ASCII值在0到-10079之间,则从预定义的声母表中获取。
3.4 主要程序段
//计算字符串首字符的ASCII码值
public int Asc(string pStr)
{ int _i=0;
if (pStr.Length > 0)
{ string _s = pStr.Substring (0,1);//取首字符
byte[] _b = System.Text.Encoding.Default.GetBytes (_s); //计算字符的Unicode码
if (_b.Length == 1)
_i = _b[0]; //西文ASCII
else
_i = _b[0]*256+_b[1]-65536; //汉字ASCII-65536 }
return _i; }
//计算字符串对应的声母
public string Hzpy(string pStr)
{ if (pStr.Length == 0){ return "" ;}//参数是空串
string sResult = ""; //定义返回字符串变量
int t; //字符的Ascii码
string gH0="";
gH0 = InputAscii2();//从文件中加载二级字库汉字声母表
pStr = pStr.ToUpper ();
for (int i = 0 ; i < pStr.Length; i++)
{ t = Asc(pStr.Substring (i, 1));
if (t < 0)
{ if ( t >= -10079) //计算二级字库汉字声母
if (gH0.Length > 10079+t)
sResult = sResult + gH0.Substring (10079 + t,1);
else
sResult = sResult + " ";
else //计算一级字库汉字声母
{ if (t>=-20319 && t
else if (t>=-20283 && t
else if (t>=-19775 && t
else if (t>=-19218 && t
else if (t>=-18710 && t
else if (t>=-18526 && t
else if (t>=-18239 && t
else if (t>=-17922 && t
else if (t>=-17417 && t
else if (t>=-16474 && t
else if (t>=-16212 && t
else if (t>=-15640 && t
else if (t>=-15165 && t
else if (t>=-14922 && t
else if (t>=-14914 && t
else if (t>=-14630 && t
else if (t>=-14149 && t
else if (t>=-14090 && t
else if (t>=-13318 && t
else if (t>=-12838 && t
else if (t>=-12556 && t
else if (t==-12080) sResult = sResult + "H";
else if (t>=-12079 && t
else if (t>=-11847 && t
else if (t>=-11055 && t
}}
else //字母和数字
{ if (t>=65 && t=48 && t
sResult = sResult + pStr.Substring (i, 1); } }
return sResult; }
4 实现结果
输入:Hzpy(“ab”) , 输出:“AB“
输入:Hzpy(“我们”),输出:“WM”
输入:Hzpy(“驽一孥”),输出:“NYN”
5 小结
通过这种方法计算汉字对应声母,其中一级字库近7000个汉字,只需要通过条件判断语句即可计算出来,二级字库3000多个汉字通过预编码,直接一一对应产生。与过去通过一个汉字对应一个字符的方式相比,这种方法不需要专门的数据文件进行存储,不仅大大提高了计算速度,而且十分容易在不同的开发语言中进行移植,具有非常显著的实用性。
参考文献:
[1]规范. GB2312-80《信息交换用汉字编码字符集 基本集》[S]. 北京: 中国标准出版,2003。
[2]葛季栋等. 利用数据字典创建维护数据库基表[J]. 北京: 微型机与应用,2002。
篇6
关键词:Oracle数据库 角色 主体
1 角色管理的定义 在数据库中,为便于对用户及权限进行管理,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为角色(Role)。角色类似于Windows操作系统安全体系中组的概念。在实际工作中,有大量的用户其权限是一样的,如果让数据库管理员在每次创建完用户后都对每个用户分别授权,则是一件非常麻烦的事情,但如果把具有相同权限的用户集中在角色中进行管理,则会方便很多。为一个角色进行权限管理就相当于对该角色中的所有成员进行操作,可以为有相同权限的一类用户建立一个角色,然后为角色授予合适的权限。使用角色的好处是系统管理员只需对权限的种类进行划分,然后将不同的权限授予不同的角色,而不必关心有哪些具体的用户,而且当角色中的成员发生变化时,比如添加成员或删除成员,系统管理员都无需做任何关于权限的操作。
2 角色管理的作用 角色是数据库各种权限的集合,使用角色可以方便地管理数据库特权,角色可以赋予其它用户,也可以赋予其他角色,图1-1形象地说明了角色的作用。
图1-1 角色关系图
显然上图有两个角色,而每个角色有不同数目和类型的权限,而这些角色又可以赋予不同的用户,这样就方便了权限的管理,作为经理的角色(Manager)具有创建会话、创建表以及查询某个表的权限,而雇员(Clerk)角色具有查询表、更新表的权限,然后将Clerk角色和Manager角色赋予第一个用户,此时第一个用户就具有了上图的所有权限,而把Clerk角色赋予第2个和第3个用户。使用角色可以减少给用户授予权限的操作次数,同样减少了修改多个用户权限的操作次数,提高了DBA管理数据库的效率,并减少了出错的机会。
3 在Oracle中使用角色
a 创建角色 创建角色的范例如下,例创建角色mk_clerk
SQL>connect system/oracle@orcl
已连接。
SQL>create role mk_clerk
通过实例成功创建了角色,在Oracle中可通过数据字典dba_roles查看创建的角色,
SQL>select *
2 from dba_roles
3 where role in(“mk_clerk”)
有关数据字典dba_roles的具体操作不作过多解释,另外通过dba_roles激活该角色时不需要相应的密码验证。
b 修改角色 修改角色的范例如下,例修改角色mk_clerk
SQL>alter role mk_clerk
2 identified by externallay;
角色已丢弃。
通过实例成功修改了角色,在Oracle中可通过数据字典dba_roles查看验证修改结果,
SQL>select *
2 from dba_roles
3 where role in(“mk_clerk”);
Role password
------------------------------------------------------
mk_clerk yes
显示结果角色mk_clerk已通过操作系统验证。
c 赋予角色权限 角色是权限的集合,所以在创建了角色后,就需要将各种权限赋予该角色,赋予角色权限的范例如下,例为角色clerk赋予权限
SQL>grant create session,select any table,create view
2 to at_clerk
授权成功
该实例将权限赋予了角色at_clerk,通过数据字典role_sys_privs 验证授权结果,
SQL>select *
2 from role_sys_privs
3 where role =“at_clerk”
Role Privilege Adm
------------------------------------------------------
at_clerk Create session No
显示结果角色at_clerk已具有权限,而且该角色不能将其拥有的权限赋予其它用户或角色。
d 赋予用户角色 在创建了角色后,就需要将各种角色赋予用户,或赋予所有用户(PUBLIC),在将角色赋予用户前,先创建用户Clerk,其范例如下:
SQL> create user Clerk
2 identified by cl12#;
用户已创建
SQL> create user mymanager
2 i identified by my12#;
用户已创建
通过数据字典DBA_USERS验证是否成功创建用户,实例如下:
SQL>select username,created
2 from dba_users
3* where username in (“Clerk”)
username created
------------------------------------------------------
mk_clerk 18-9月-09
上述输出说明已经创建新用户Clerk,并已将Manager角色赋予该用户,同时从结果可以清晰的看出角色Manager被赋予用户Mymanager,并且该用户具有将角色Manager继续授权的能力。
4 在Oracle中的高级角色
上述讲的是低级角色,涉及到禁止、激活、回收、删除等操作时,由于权限相对比较复杂,就要谈到高级角色了。
a 禁止和激活角色 角色可以禁止和激活,禁止意味着用户不在具有改角色赋予的各种权限,即回收角色具有的权限,而激活意味着赋予用户角色的权限。已知在实例中,用户Clerk具有角色Manager,下面演示如何禁止用户的角色,禁止用户Clerk的所有角色范例如下:
SQL> set role none;
角色集
此时系统禁止了所有角色,即系统回收了这些角色的权限。查询当前用户Clerk的权限如下实例所示:
SQL> select *
2 from session_privs;
未选定行
可见用户Clerk不具有任何会话权限了,下面激活用户Clerk的At_Clerk角色。
SQL> set role at_clerk;
角色集
激活了角色at_clerk后查询用户Clerk是否有了角色at_clerk的权限。实例如下所示:
SQL> select *
2 from session_privs;
Privilege
------------------------------------------------------
Create session
Create any table
Select any table
Create view
从输出结果可以看出用户Clerk具有角色Manager和角色Clerk的权限,说明成功激活了角色Manager。
b 回收和删除角色 既然可以赋予用户角色,也可以回收用户角色,Oracle允许使用Revoke子句回收赋予某一用户的角色。回收用户Clerk的At_clerk角色的实例如下:
SQL> revoke at_clerk from clerk;
撤消成功。
然后检验角色At_clerk是否已经从用户Clerk回收,如下实例所示:
SQL> select *
2 from dba_role_privs
3 where granted_role=””At_clerk”
4 ;
Grantee Granted_role
------------------------------------------------------
Manager At_clerk
在上述查询的Where子句中,Grantee列中没有了用户Clerk,说明角色At_clerk已经从用户Clerk那回收。但是角色At_clerk依旧在系统中存在,只是没有授权用户使用,如果不需要该角色可以删除该角色,实例如下所示:
SQL> drop role at_clerk;
角色已删除。
通过数据字典Dba_role查看是否成功删除角色At_clerk,如下实例所示:
SQL> select *
2 from dba_roles
3 where role in (“at_clerk”);
role password
------------------------------------------------------
Manager yes
显然Role列中没有了角色At_clerk,说明成功删除角色At_clerk。另外Oracle使用Public代表所有用户,通过Public可以将多个角色用户删除,具体就不做展开描述。
5 结束语 角色就是数据库权限的集合,这些权限可以是系统权限,也可以是数据库对象权限,使用角色可以方便地对用户授权进行管理,并减少授权操作。用户可以根据业务需求来设计角色所拥有的权限角色,权限角色管理是Oracle实现安全管理的一部分,通过授权不同用户的系统权限和对象权限实现用户对系统功能以及数据库对象的操作,并且使用权限角色可以很好地减少DBA的用户权管理。
参考文献
[1] 马世俊,毛竹. 项目应用中的Oracle数据库角色[J]. 现代经济信息,2012,2.
[2] 周锦. 基于Oracle数据库SQL语句的研究[J].北方工业大学,2013,6
[3] 付国辉. Oracle数据库的性能优化探讨[J].吉林大学,2013,3.
篇7
关键词:数据库界址线类别要素分类ARCMAPSlect By AttributesSlect By LocationField Caculator
中图分类号: P273 文献标识码: A 文章编号:
界址线是宗地的边界线,界址线类别是《城镇地籍数据库标准》规定的界址线属性结构的必须字段,是描述宗地界标物的重要信息。传统的录入方式是地籍测绘完成后,依据调查结果和资料,对宗地进行采集及属性入库,逐条界址线录入界标物类别属性。对于大范围的城镇地籍数据库建设,数以万计的宗地而言,界址线数量又是宗地的几倍甚至几十倍,界址线类别录入工作量之繁重,可想而知。应该本着人力和自动化有机结合的原则,研究和开发尽可能多的自动化处理功能或方法,将人力从繁复的机械操作中解放出来,提高数据库质量。通过研究Esri的 Arcmap 软件,利用其空间和属性选择及属性计算功能可以实现界址线类别批量录入,结束以往人工录入的历史,大大提高了工作效率(非Arcgis平台数据库可将数据转换为Arcgis支持数据格式操作)。
一 界址线类别分析,理解界址线类别代码所代表的界标物。
《城镇地籍数据库标准》规定了如下1-9(不含8),共8个界址线类别代码:
“1”围墙:界址线依附于围墙;“2”墙壁:界址线依附于房屋的墙壁;“3”栅栏:界址线依附于栅栏;“4”铁丝网:界址线依附于铁丝网;“5”路涯线:界址线是道路边线;“6”滴水线:滴水线是特殊的界址线类别,在采集宗地界址要素时,要根据权属调查资料将属于这一类的界址线类别实时录入。“7”两点连线:没有实体依附,又不属于房屋滴水的界址线类别。“9”其他:与1-5类别无关的界址线但与其他实体要素重合的界址线类别为“其他”。
二 掌握界址线类别代码涉及到的界标物在《基础地理信息要素数据字典》中的要素分类代码。
各类界标物在《基础地理信息要素数据字典》中的要素分类代码如下:
围墙分类代码:“380201”;房屋分类代码:“3103*”;栅栏分类代码:“380202”;铁丝网分类代码:“380205”;城市道路分类要素代码:“430*”;乡村道路分类要素代码:“440*”。除上述要素外的水系、地貌土质、植被等要素均为其他要素,只要掌握这6类要素的分类代码就可以完成界址线类别赋值。
三 对界标物要素进行分类输出。
利用Arcmap软件属性选择功能,根据上述要素分类代码提取各类界标物,将界标物分为6类提取输出,并以1、2、3、4、5、9这6个界址类别代码命名输出的SHP文件。以输出围墙要素为例:添加居民地及设施数据集中的数据到ArcMap中,打开Slection菜单,选择Slect By Attributes工具,弹出对话框输入FHDM=” 380201”即将围墙要素全部选中;然后,在对应的图层上右键,选择Date—Export Date,输出选中的围墙要素,选择保存路径并命名为1.SHP。依此类推,在居民地及设施数据集中输出房屋要素命名为2.shp,栅栏要素命名为3.shp,铁丝网要素命名为4.shp,不属于上述4类要素的居民地及设施要素则输出为其他要素,命名为9.shp。添加交通设施数据集,按城市道路分类要素代码 “430*”和乡村道路分类要素代码 “440*”输出道路要素命名为5.shp,打开属性表反选,复制交通设施要素到之前输出的9.shp中。将水系、地貌土质、植被等要素集当中的线要素类复制到9.shp文件中。
四 根据空间位置为界址线类别批量赋值
界址线类别赋值原理是:界址线与界标物完全重合,也可以说界址线完全包含于界标物,即认定此条界址线类别为该界标物。具体赋值操作如下所述:将要赋值的界址线和之前分类输出的6个shp文件添加到ArcMap中,利用Arcmap软件根据位置选择功能,通过空间选择为界址线类别赋值。操作如下:打开Slection菜单,选择Slect By Location工具,弹出对话框:select features from 勾选界址线,空间关系选择“Are Within”(包含),关联要素集选择1.shp。这样就把与1.shp文件中的要素完全重合的界址线全部选中,打开界址线属性表,在“JZXLB”字段上右键,弹出对话框选择Field Caculator,在弹出的对话框中输入1,点击OK,类别为围墙的界址线赋值完毕。重复上述操作,根据界址线与2、3、4、5、9.shp文件中的要素的空间位置关系,计算字段为类别赋值。最后,根据属性选择“JZXLB”字段为空的界址线,赋值为“7”两点连线。至此,界址线类别赋值全部完成。
结束语:在工作实践中,方法总比问题多,这个问题的解决可能还有其他方法,笔者期望能给城镇地籍数据库建设工作人员提供一些帮助和借鉴。
参考文献:
[1] 《基础地理信息要素数据字典第1部分1:500 1:1 000 1:2 000基础地理信息要素数据字典》GB/T 20258.1—2007,中国标准出版社,2007年。
篇8
1.1业务流程
业务流程是指小区物业工作的业务范围及顺序,为了能够简明扼要的说明业务的流程,本系统进行了前期的设计工作,完成了系统的业务流程。系统应用用户(管理员)分别将小区楼宇信息到楼宇表,并将业主的入住信息、车位使用信息、费用缴费信息、投诉信息分别录入到入住表、车位表、缴费表、投诉表、处理信息表,并对这些表格进行查阅、增加、删减、更改等操作;管理员同时将所处理的业务按业务表分类录入,将小区设备信息录入到设备表,同时对投诉情况进行处理生成投诉处理单,并反馈到处理信息表供业主查询,同时可以对这些表格进行查阅、增加、删减、更改等操作;物业主管有权查阅业务表以查看业务情况,同时有权使用设备表,并查看投诉及处理情况报表以监督投诉处理情况。通过建立不同表,管理员和主管对相关表格进行查阅、修改增删等操作,实现对物业管理的信息化操作。
1.2系统数据流图
在完成业务流程图的设计后,需要对每个业务的数据通行进行确切的了解和设计,为后续的整体设计打下基础。本系统将数据流图分为两个部分:系统顶层数据流图(如图1所示)与二层数据流程图(如图2所示)。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。该系统的数据输入为业主相关信息,通过处理,输出的数据为物业主管可操作的信息。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。二层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。
1.3数据字典
数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。本系统有关数据项的定义如表1所示。
2系统总体设计
在系统总体设计阶段利用系统功能结构图来描述系统中各个模块如何化分、完成什么功能。在充分考虑各个模块的耦合性与内聚性后通过制作系统功能结构图合理地将整个系统分拆成多个模块。这样做使系统的开发变得目标清晰,每个模块的完成都是系统制作的里程碑,对于制作完成后的测试也提供了便利和依据。无论是为来的单元测试还是集成测试模块化的系统都将大大提高测试效率和错误改正的速度。本系统一共分为九个模块,每个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库不同的表。
3详细设计
详细设计阶段是系统正式制作前最后一个设计阶段。详细设计阶段包括用系统的软硬件配置,基于三层架构的信息系统结构设计,以及用户界面的设计。
3.1软硬件配置
系统运行所需的软硬件配置如下:硬件环境:台式计算机(服务器)一台,处理器P4以上,内存1GB以上,硬盘空间80G以上。软件环境:(1)Windows2003Server操作系统。(2)MyEclipseEnterpriseWorkbench6.0.1GA。(3)Dreamweaver8.0。(4)ApacheTomcat6.0.14。
3.2系统的整体架构
软件整体架构的选择,直接关系到软件的开发效率与日后维护的难易程度。因此,本系统采用了三层架构的开发模式。三层架构通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL),经过层次的划分,使软件达到了“高内聚,低耦合”的思想。
4结束语
篇9
关键词:SharePoint;工作流;Visual Studio
中图分类号:TP315
1 流程的分析
1.1 现状分析
目前的加班申请和审批停留在纸质签字和使用Excel人工汇总加班工时发放加班工资的阶段,手工操作多,单一环节办公时间长,信息共享性差。
1.2 用户需求分析
得到用户的需求如下:(1)公司员工被授予了相应权限的用户应可以通过系统在线提交加班申请,相关角色的用户应可以在线审批。(2)自动汇总工时,计算加班工资,生成报表。
1.3 流程分析
1.4 流程数据字典
数据字典,是流程表单中涉及的数据和会签结果等详细情况加以记录,并按照一定方式进行排列所形成的可以提供给设计人员查阅的的字典。
2 流程的设计
2.1 表单设计
表单设计的原则就是数据收集过程的标准化,创建针对特定用户或任务优化的单独视图,从而简化表单填写体验(如输入员工代码直接显示员工姓名),利用条件格式来优化表单填写体验(使用日期控件填写日期)。
2.2 列表设计
SharePoint列表类似于数据库中的数据表是流程系统的核心和基础,它把流程系统中的大量数据按一定的模型组织起来,使工作流可以方便、及时、准确地从列表中获得所需要的信息。
4 测试
对于一个SharePoint工作流的测试,“白盒测试”环节显得尤为重要,甚至是必不可少的一环。对工作流的“白盒测试”必须覆盖工作的每个一环和流程流转过程。所以,对工作流的测试用例较多,图7中展示我们对加班流程测试过程中部分用例的清单。
5 结论
本文设计了工作流体系结构,给出了工作流从列表、表单、流程的需求分析方法以及编程的实现方法和实现过程,可以得出以下结论:(1)本文所建立的流程需求分析方法以及开发的方法和实现过程,为其他流程开发和实现提供了一般思路和开发流程,具有一定的借鉴意义。(2)使用Visual Studio将工作流的列表、表单和流程进行拆分的高内聚、低耦合的分层次设计的“有码”工作流的设计思路使得流程具有更好的可扩充性。
参考文献:
[1]王欣.管理信息系统[M].北京:中国水利水电出版社,2004.
[2]高钰莹.管理信息系统的研究与应用[J].今日科苑,2008(8):92-92.
[3]王红,闫海珍.基于B/S架构的MIS生成系统[J].长春师范学院学报(自然科学版),2009,8(1):24-26.
[4]SharePoint Server 2013 IT Professional Reviewer's Guide.
[5]陈倩.SharePoint项目审批工作流的设计与开发[J].电脑开发与应用, (2009)07.
篇10
本文基于客户服务系统的发展现状,结合当前的信息技术,针对对客户服务系统的应用,建立了全程监控、节约成本、稳定性、可靠性、更具人性化的客户服务系统。
关键词: 计算机系统B/S模式客户服务
中图分类号:G623.58文献标识码: A
1系统研究的意义
目前客户服务中心的经营管理模式和技术实现方案已发展得较为成熟,广泛应用于电信、银行、证券、运输、旅游、零售、制造等对客户服务有一定要求的行业。国内客户服务中心的建设虽然起步较晚,但却是一个重要的发展趋势,相继有一些省市在电信、银行、保险、航空等行业建立了自己的客户服务中心。
因此,在Web环境下客户服务系统界面将是企业面向客户的门户,一个完善的客户服务系统界面,能够增强企业竞争能力,增加销售,提升企业形象,同时客户服务系统是确保客户满意度和客户利益的重要和先决条件。客户服务系统已不仅仅是交易过程中的一个步骤,也正成为各企业赢得竞争优势,打败竞争对手的策略手段。
与传统的面对面直接接触的交互方式相比,企业的经营管理将进一步打破地域的限制,消费者比以前拥有了更多的信息和选择机会,有更多的方式与企业进行交互。这增加了消费者的知情权,企业与客户的沟通也更加方便,但同时也导致了客户对企业的期望值增大,使得客户更加没有耐性,企业与客户个体接触的时间也在不断减少。因此,客户服务系统的目的就在于提高客户满意度,提高企业的竞争力。
2业务流程分析
业务流程分析一般采用业务流程图(TFD)来表示,就是用一些规定的符号和连线来表示某个具体的业务过程。业务流程图的绘制一般是按照业务处理的实际过程和步骤进行。业务流程分析的内容包括业务功能分析、业务关系分析、业务流程优化。[03]如图2-1:
表2-1业务流程图符号
图2-1 业务流程分析图
3 数据流程分析
数据流程分析是把数据在组织(或原系统)内部的流动情况抽象的独立出来舍去了具体的组织机构、信息载体、处理工作和物资资料等,单从数据流动过程来查实际业务的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等分析。数据流程分析的目的就是要发现和解决数据流中的问题。
表3-1数据流图的符号说明
客户服务系统的数据流程图如:图3-2。
图3-2 客户服务系统数据流程图
4 数据字典
数据字典是在数据流程图的基础上对数据流程图中的每一部分,即每个外部实体、数据流、数据处理、文件或数据存储都应详细描述,我们把这些描述所组成的集合按一定的次序排列起来的。不同的系统都有它们自己的数据流程图和数据字典。数据流程图结合数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
客户服务系统数据词典如下所示:
(1)数据流描述
数据流名称:客户信息
标识符:F2
数据流来源:系统显示客户的信息
数据流去向:P1.2
数据流组成:客户名称+客户负责人+客户地址+客户联系方式
(2)处理逻辑描述
处理逻辑名称:咨询流程
标识符:P1.4
输入:C,D , P1.3
输出:E3
处理:处理客户需求,分配服务路线
处理逻辑名称:系统接收
标识符:P1.1
输入:E1
输出:P1.2
处理:接受客户的电话,查看客户信息
(3)数据存储描述
数据存储名称:客户信息
标识符:A
简述:记录客户的基本信息
组成:客户信息编号+客户名称+客户机构名称+客户负责人姓名+客户地址+客户邮箱+客户传真号+添加时间
关键字:客户信息编号
涉及的处理:P1.1
数据存储名称:客户问题
标识符:D
简述:记录客户的问题类型,进行分类回答
组成:问题编号+客户信息编号+问题反馈时间+问题处理负责人+问题状态+详细记录
关键字:问题编号+客户信息编号
涉及的处理:P1.4
5系统总体设计
5.1 系统空间硬件结构的设计
图5-1系统网络拓扑图
5.2 功能模块设计
功能结构图(层次图)是用来描述系统模块功能分解的一种图形工具。功能结构图的每个矩形框表示一个功能模块,矩形框间的连线可以看作调用关系。如图5-2所示
1.管理用户:浏览用户(管理员权限)可以重置用户密码操作;
添加用户:添加系统用户.。
2.管理客户信息:查看客户信息:可以查看详细信息,删除或修改某条信息;
添加客户:填写客户详细信息,提交添加到客户信息列表;
查看客户反馈:可以查看、删除、修改客户信息反馈信息;
添加客户反馈:添加一条客户反馈信息。
3.管理产品
查看产品:进行查看、删除、修改;
添加产品:添加新产品。
4.查看订单:进行查看、删除、修改;
添加订单:添加订单。
图5-2 客户服务系统的功能模块结构图
6、结语
客户服务系统犹如一个信息的工厂。使用操作方便,运行稳定,能快速完成信息的采集、分发、共享,一直到信息处理、信息反馈的整个加工过程。有实用性和创新性。客户服务系统采用JSP和MYSQL 进行设计,实现了用户登录、管理用户菜单项、客户信息管理、客户问题反馈信息、公司产品、订单信息,以及信息查询、咨询流程等实际应用流程。
参考文献
[1] 耿骞.信息系统分析与设计[M].北京:高等教育出版社,2004
[2] 王丽华. 服务管理. 北京:中国旅游出版社,2007
[3] 李志刚. 客户关系管理理论与应用[M]. 北京:机械工程出版社,206
[4] 冯俊. 服务企业管理[M]. 北京:科学出版社,2007