基于数据属性描述的数据过滤方法
第22卷第1期
2005年1月
计算机应用与软件
ComputerApplicationsandSoftware
Vo1.22,No.1
Jan.2OD5
基于数据属性描述的数据过滤方法
赵连军安琳彭炎午
(西北工业大学机电工程学院安710072)
摘要本文研究了已有的各种基于Web的信息系统数据过滤方法,评价了它们的优
缺点和适用范围,并实现了一种基于数据
属性描述的数据过滤新方法.通过合理配置数据过滤程序,提高数据过滤的效率.
该数据过滤方法实现了数据过滤的灵活定制和
软件复用,减少了开发人员的重复工作.
关键词web信息系统数据过滤数据属性
ADATAF??ArI]GMr】肿ODBASE】DoNDATAPRoPEIHYDESCR田TI('N
ZhaoLianjunAnLinPengYanwu
(SchoolofMechatronicEngine~ng,NorttueesternPof)ffUniversity,m7/0072)
AbstractThispaperanalyzesmostknowndatafdtrafingmethodofiofommtionsystemtoanal
yzetheiradvantagesanddisadvantages.Anewdata filtratingmethodispresentedwhichisbasedondatapropertydescripfion.Thedatafiltratinge
fficiencyisimprovedthroughconfiguretheprogrammore reasonableThismethodcustomizesdatafiltratingneatly,makesthesoftwarereusableandrel
ievesthedevelopersofrepeatedlyheavypr0ng. KeywordsWebInformationsystemDatara~tingDataproperty 0引言
随着网络技术和软件开发技术的快速发展,以及企业,商业 组织对信息处理需求的不断提高,基于Web的信息应用系统, 已经成为当今最主要的网络应用之一.
数据过滤程序实现对客户端数据进行合法性检查和处理, 过滤程序可以是嵌在客户端功能页面中的脚本程序,也可以布 置在系统服务器端各个程序模块中的程序J.数据过滤程序对 减少服务器数据处理错误和提高服务器效率有显着的作用,在 系统开发中占有重要的地位.
满足系统客户端数据可靠性的需求是开发数据过滤程序的 目的.在系统开发过程中,传统的数据过滤方法开发工作量大, 随着客户不断改变需求和不断升级系统,开发人员对系统数据 过滤程序不断修改,影响了系统开发效率,无法保证系统开发进 度和质量.
本文研究了通过提取客户端数据属性和定制统一的数据过 滤程序的方法,使系统开发人员快速,全面和准确地完成客户端 数据过滤需求,加快系统开发进度.
1信息系统数据过滤方法研究
数据过滤在系统数据处理过程中有着重要的作用,特别是 客户端在向服务器端数据处理程序提交数据时,需要对数据进 行合法性检查,防止出现数据库操作错误和其他数据处理异常. 对客户端数据过滤需求的实现通常是根据数据库设计需求编写 相应的过滤程序.
按照数据过滤程序所在的位置可以分为两类:
1.1服务器端数据过滤程序
服务器端数据过滤程序通常放置在系统服务器端.通常根 据数据处理的需要将数据过滤程序代码嵌入数据处理程序的起 始部分,在数据处理之前先进行数据合法性检查,并反馈数据过 滤结果.
这种数据过滤的方法主要集中在系统服务器端,增加了服
务器的数据处理压力,降低了系统数据处理的效率,服务器效率 降低.同时,系统数据库和数据过滤需求的改变,使开发人员要 修改相应的数据过滤程序代码.由于信息系统拥有大量的数据 处理程序,使得编写,维护,测试数据过滤代码的工作量大,影响 系统开发的进度.
1.2客户端数据过滤脚本程序
客户端数据过滤脚本程序,一般是嵌在系统客户端功能页 面中的脚本程序,它由JavaScript等脚本语言编写.主要实现在 客户端向服务器端提交数据时,对所提交的数据按照过滤条件 进行合法性检查.
这种数据过滤的方法主要集中在系统客户端,减少了服务 器的数据处理压力,避免了客户端向服务器端数据处理程序提 交非法数据,减少了客户端访问服务器端的次数,提高了系统数 据处理的效率,充分利用了客户端的数据处理资源. 数据过滤程序,系统功能页面以及系统数据处理程序是同 步进行编写的,开发人员将大量精力用在数据过滤程序编写和 测试工作中.一旦数据库被修改,开发人员不得不修改脚本程 序,由于信息系统拥有大量的功能页面.因此编写,测试和修改 数据过滤脚本程序将花费大量的精力.
收稿日期,'2003—09—28.赵连军,博士生,主研领域:信息工程化技 术.自动化制造技术.
第1期赵连军等:基于数据属性描述的数据过滤方法39 2基于数据属性描述的数据过滤方法
数据过滤程序开发的难点在于:如何在系统开发过程中能 最大程度地适应和兼容客户对系统功能和数据库设计需求的改 变.传统的开发模式随着客户需求的变化,系统开发人员就不 得不修改已开发的数据过滤程序,甚至是重新开发,做大量的重 复工作.
针对当前数据过滤程序开发中存在的不足,克服客户需求 发展与系统数据过滤程序开发不同步的缺点,提出了基于数据 属性描述的数据过滤新方法.该方法使用了JcL控件,JCL (JavaScriptComponentLibrary)是MoleSoftware公司开发的面向对 象的B/S结构前端组件库.在该系统中用JavaScript脚本语言编 写各种控件和按钮动作函数实现对Web数据的各种数据操作, 采用客户端数据过滤模式,将与数据过滤相关的脚本程序集中 整理成为一个JavaScript脚本程序Js文件,并将其作为系统文件 放置在设定的服务器端文件目录下.将数据过滤程序文件以脚 本格式嵌入系统功能页面中,做法是将JavaScrlpt脚本程序属性 中的Js文件来源设为过滤程序文件在服务器端的存储路径. 该方法将数据过滤程序和功能页面分离,把数据过滤程序 单独作为系统程序文件放置在服务器端,通过引用数据过滤程 序在客户端进行数据过滤.该方法的实现有以下步骤组成:描 述数据属性,生成客户端页面辅助脚本代码,整理功能页面,数 据过滤,反馈数据过滤结果和提交数据.该方法通过把数据属 性组成数据属性数组,并生成页面辅助脚本代码,把页面辅助脚 本代码嵌入系统功能页面中;系统功能页面所提交的数据都由 此过滤程序文件中的数据过滤函数进行,并反馈过滤信息.其 工作流程如图1所示.
敬据属JI謇户瑞
g-j整I健砸盈
'I
勰助脚奉r—1I再
l竺:!竺I
篙曩鼗IWh,Pr
图1数据过滤的工作流程
该数据过滤方法使用了面向对象技术,统一了对系统客户 端数据过滤方法.使用该方法,在客户端直接引用单独开发的
数据过滤程序进行数据过滤,减少了脚本程序的编写,加快系统 开发进度.客户端不必考虑编写数据过滤程序的问题,开发人 员可以把精力放在数据业务处理流程分析以及系统功能页面编 写上,减轻了数据过滤脚本程序编写的工作量.
2.1页面辅助脚本开发模块
数据属性的获取以及属性数组和客户端辅助脚本程序的生 成,都由页面辅助脚本开发模块自动生成.开发人员把包含功 能页面中数据的SQL作为参数提交给页面辅助脚本开发模块, 页面辅助脚本开发模块就生成格式统一的客户端辅助脚本程序 代码,并由开发人员拷贝到系统功能页面中,其中数据过滤程序 文件的保存路径也整理到页面辅助脚本程序代码中.基于数据 属性描述的数据过滤方法的功能页面辅助脚本程序开发步骤如 图2所示.
2.2描述数据属性
数据属性描述是由页面辅助脚本开发模块完成的.将系统 功能页面,特别是数据添加和修改页面中的数据描述Sel~t类 设计要求ll页面辅助脚本开发模块
客户端
页面数
据sQL
图2页面辅助脚本开发步骤
型的SQL语句,sQL语句中的字段名称是功能页面中的数据页 面显示名称所对应的数据库表的数据字段名称.一般情况下, 数据页面显示名称在数据库设计时已经定义,所以数据页面显 示名称可以从数据库表中提取出来.
将此SQL语句作为参数,通过页面辅助脚本开发模块获得 数据属性描述数组.辅助程序通过访问数据库,获取数据库表 中的数据属性,按照规则整理成以下几个数据属性数组: 1)数据字段名称数组fiddname将数据的数据库表字段名
称按照SQL语句中的字段顺序整理成数组;
2)数据字段是否为空属性数组fieldnull如果数据字段不
能为空,则该数据的是否为空属性为1;如果数据字段可以为 空,则该数据的是否为空属性为O;将数据字段是否为空属性值 按照SQL语句中的字段顺序整理成数组;
3)数据字段类型属性数组fieldtype将数据字段的类型属
性值按照SQL语句中的字段顺序整理成数组;
4)数据字段长度属性数组fieldlength将数据字段的长度
属性值按照SQL语句中的字段顺序整理成数组;
5)数据页面显示名称数组fieldfitle将数据的页面显示名
称按照SQL语句中的字段顺序整理成数组.
数据的属性描述数组生成后,页面辅助脚本开发模块按照
脚本程序页面
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写格式输出整理好的JavaScript脚本程序.程 序开发人员将此脚本程序拷贝到相应的功能页面中.例如,对 于人员信息表,在人员信息输出页面中嵌入的数据属性数组以 及页面辅助脚本程序如下所示:
<SCRIPTlanguage:"JavaScript"src="/server/html/script/datafiltrate.is">
</SCPr>
<SCRIPTlanb,uage=".1avaScript"> fiddname=newAry("id";nrlamen,"8e,"a) flddnull=new啪y(l",l",l",-tr)
t~ddtyp~:newA~ay(stri,string",n,IllIfnbeI,r)
fieldlength:neWArmy("8",,", fieldtitle:newAn(员编号,姓名,l性别",年龄)
</SCPr>
<INPUt'nan1e=submit'value=,,提交数据"ondiek:"form一lbrnit()"> 其中src=/server/html/script/datafdtrate.jStl是保存在服务器端的 数据过滤脚本程序文件的保存路径.客户端点击"提交数据时" 功能按钮时,引发onlick事件,页面数据提交到数据过滤程序进
行数据过滤.
2.3数据过滤
数据过滤程序由系统开发人员开发调试后,放置在系统服 务器端的程序文件目录下.客户端提交数据时,通过页面辅助 脚本程序激活数据过滤程序,页面提交数据和数据属性数组作 为参数传递给数据过滤程序.
数据过滤程序文件包含了一系列的JavaScript脚本程序,由 一
个主函数和多个子函数组成,子函数包括:数据类型判断函 (下转第136页l
面奉一一能糨黼
l36计算机应用与软件2005生
记录的指针.SAD的数据结构由SAD入口表和SAD组成.SAD 入口表建立在SRAM,SAD保存在SDRAM.同时在路由表中增 加一条相应的路由.
4性能评价
对于加密机,我们感兴趣的参数是加密数据包的传 输速率.我们测试的硬件环境是两台加密机(包括一个高性 能网络处理器芯片IXP1200C2U,8个全双工10/100M的Ethemet 接口,PCCISES加密加速卡).软件环境是采用嵌入式操作系统 以及上述实现的代码.
图4是测试环境示意图.
图4测试环境示意图
本文通过FIP测试在应用IPSec中算法不同情况下数据 包的传输速率.客户端和FIP服务器采用PIII800MHz的CPU 和100M的以太网卡,以上均采用都是100M的网线. 本文的测试数据如图5所示.
:
?
;70
:?
:.o
:20
l0
H1211抽512'?12fltlls?
P~JetSIr.t?-'
图5IP加密的吞吐率
5结论
本文采用IXP1200网络处理器作为加密机的硬件平台,
通过对IXP1200网络处理器的微引擎的分工与加密卡的协作,
可以迅速地处理数据包,满足安全通讯中高吞吐量的要求.同
时采用主动计算元素的框架进行系统结构设计,可以灵活地扩
充新的网络服务功能,而且不影响原有的逻辑框架结构,从而提
高了体系结构的可扩展性.
参考文献
[1]IjG,JefrN,Young-lnS.ADynamicFirewallOI3theIxP12oo.FinalRelx~. 12jTammoS,ScottK,L丑rryP,YitzchakG.BuildingaRobustSoftwa~Based RouterUsingNetworknDcessm.InProceeding0fthe18thACMsyn商IlTIl
OI3OperatingSystemsPrinciples(SOSP'01).Pages216,229,ChateauIake
Louise,,Alberta,Canada,October2oo1.
13jS.KarlinandL.Pcterson.VERA:AnExtensibleRouterArchitecture.Corn—
putersNetwoI1(s,Vo1.38,N0.3,20O2,PP:277—293.
14JAndrewT.Campell,StephenT.Chou,MichaelE.Koup.avis,VassilisD. Stachtos.NetBind:ABinding1)0lf0rConstructingDataPathsinNetwork Processor-BasedRouters.TheFifthIEEEConference0nODenArchitectm~ andNeT0I1(Pro~ng(OPENARCH)June2OO2.
15jRFC2401.SecurityArehitoctui'efortheIntemetProtoco1.1998. 16jIntelCorporation.MicmACEDesignDocun~nt.20O1.
17jlntelCorporation.?P1200NetworkP1-oo(~$Ol-nal~-al'eReferenceManua1.
2oo1.
[8]RI'C2251.LightweightDirectoryAccessProtocol(v3).1997.
[9]RI'C2409.eIntexnetKeyExchange(IKE).1998.
(上接第39页).
数,字符串处理函数,数据比较函数,空格截取函数,数值范围判
,月检查函数,闰年判断函数,字符串生成函数,字符 断函数,年
串日期比较函数等一系列与数据过滤有关的函数,这些子函数 基本上包含了检查数据属性的功能.
图3数据过
滤流程图
功能页面提交数据的数据名称与
数据字段名称数组中的数据字段名称
相同.数据过滤函数按照提交数据数
组中的数据名称顺序依次进行数据过
滤.
从提交数据组的第一个元素起,
依次对提交数据进行过滤,数据过滤
的流程为:
1)从提交数据数组元素下标为0
的单元dement[0]中获得该数据的名
称elements[0J.naIIleo 2)通过一个循环结构从数据字段
名称数组fieldname中获得与该数据名
称elements[0].name值相同的数组元
素单元fieldname[k],数组下标k就是
其他属性数组中存储该数据属性的元
素单元下标.
3)判断该数据是否可以为空,以
fieldnuU[k]的值为依据,判断该数据值是否可以为空.如数据不 合法则提示出错信息,并返回数据输入页面.
4)判断该数据的类型,以fieldtype[k]的值为依据,判断数 据类型是否合法.包括日期型,布尔型,整型,数字型等数据类 型检查;如数据不合法则提示出错信息,并返回数据输入页面. 5)根据数据的类型,结合数据长度fieldlength[k]的值,依次 判断数据值的合法性.对于String型判断其是否超长;对于整 型,数字型判断其值的范围合法性;如数据不合法则提示出错信 息,并返回数据输入页面.
6)判断过滤程序的循环条件,如果所有数据过滤循环结 束,就向服务器提交数据.
数据过滤过程中返回的错误提示信息由数据的页面显示名 称和提示主题组成,数据的页面显示名称存在fieldtifle[k]中. 提示信息主题是数据应具有的数据属性,数据过滤的流程图如 图3所示.
3结束语
该数据过滤方法有助于实现系统功能页面开发与系统数据 处理程序开发同步的要求,系统功能页面的开发变得简洁,不必 考虑数据过滤的实现,减少了系统开发的工作量,并实现了软件 代码的复用;避免了数据过滤脚本程序开发,测试,修改的反复 工作,在系统开发的灵活性和可定制性等方面都较其它数据过 滤方法有很大改善并且提高了系统开发的效率. 参考文献
[1]李俊生,"数据过滤技术在Delphi?1】的应用[j]'','计算机应用), 2001,21(7):91,92.
[2]吴志刚,方滨兴,马涛,李亚萍."基于web的信息资源发布模型 [J]",《计算机应用研究),2000,(3):21,23.
[3]苏洋着,Java分布式应用程序设计[M],北京:北京希望电子出版社, 2002.o7.
垦