CN1976320A - 数据访问控制方法及系统 - Google Patents
数据访问控制方法及系统 Download PDFInfo
- Publication number
- CN1976320A CN1976320A CNA2006101706421A CN200610170642A CN1976320A CN 1976320 A CN1976320 A CN 1976320A CN A2006101706421 A CNA2006101706421 A CN A2006101706421A CN 200610170642 A CN200610170642 A CN 200610170642A CN 1976320 A CN1976320 A CN 1976320A
- Authority
- CN
- China
- Prior art keywords
- access
- engine
- data
- database
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开数据访问控制方法及系统,用来解决不同系统环境下访问不同数据库和文件系统,需要掌握各种调用命令及使用方法,造成软件开发成本增高、错误率增加、系统运行风险加大的问题。所述系统包括至少一种数据访问引擎生成器,用于创建不同的数据访问引擎;数据访问应用接口,用于提供统一的访问参数,由应用程序在访问时赋值;数据访问控制器,用于根据所述数据访问应用接口的赋值信息,调用相应的数据访问引擎,进行数据访问操作。本发明的优点在于,开发人员无需了解不同机器、操作系统、软件平台、不同环境下的数据库和文件的访问方法,只要掌握编程语言,就可以进行编程开发,降低了应用开发的门槛和软件开发的成本,提高了开发的进度。
Description
技术领域
本发明涉及数据处理技术,特别是涉及数据访问控制方法及系统。
背景技术
应用系统的开发,涉及在各种不同的机器、操作系统和软件平台下,使用不同的数据库系统和文件系统。通常直接使用数据库或文件系统提供的命令编程,如IMS数据库(是IBM主机系统上所使用的数据库系统之一,是层次型数据库)使用DL/1语言(Data Manipulation Language 1,数据处理语言1),关系型数据库使用SQL语言(Structured Quevy Language,结构化查询语言)。并且,在不同系统环境中使用的命令不完全相同,例如同样在IBM的主机系统上,在联机CICS(Customer Information Control System,是IBM主机的一种交易控制平台,即一个中间件)环境下访问数据库或文件与在批处理环境下访问所使用的命令各不相同,在联机环境下的访问方法相对比较复杂。
因此,不同应用系统的开发,对开发人员尤其是程序员要求较高,需要他们掌握在各种环境下,不同的数据库系统和文件系统的专有知识和调用细节,才能编程开发,使得软件开发成本增高。而且,由于程序员的经验和水平良莠不齐,直接使用数据库系统或文件系统提供的命令容易出现调用方法不当,增加错误率,造成功能和性能问题,扩大了系统运行的风险。
发明内容
本发明所要解决的技术问题是提供一种数据访问控制方法及系统,以解决在不同系统环境下访问不同数据库和文件系统,需要掌握各种调用命令及使用方法,造成软件开发成本增高、错误率增加、系统运行风险加大的问题。
为解决上述技术问题,本发明提供了数据访问控制方法,包括:
对应数据特性和系统环境,提供不同的数据访问模板;
读取数据的定义描述,结合相应的数据访问模板生成数据访问源码;
对所述数据访问源码进行编译,生成参数化的数据访问引擎;
建立统一的访问参数,所述参数包括数据名称和访问命令;
对所述访问参数赋值,调用相应的数据访问引擎,进行数据访问操作。
其中,所述数据访问引擎为数据库访问引擎,按照数据库类型和系统环境,分为联机环境下的层次型引擎、关系型引擎,以及批处理环境下的层次型引擎、关系型引擎;或者,所述数据访问引擎为文件访问引擎,在联机环境和批处理环境下分别对应每个文件。
优选的,还包括:对应每种数据库访问引擎建立内存表格,其中记录至少一个数据库的定义描述;对所述访问参数的赋值信息进行合法性检查,若与所述内存表格中对应数据库的定义描述相符,则调用相应的数据库访问引擎,否则未通过检查。
优选的,还包括:读取所述内存表格中数据库的定义描述,对赋值信息中缺少的访问参数进行补充赋值,满足赋值要求后调用相应的数据库访问引擎。
优选的,还包括:所述数据库访问引擎中记录数据库类型的特性信息,调用数据库访问引擎对所述访问参数的赋值信息进行合法性检查,若与所述数据库类型的特性信息相符,则进行数据库访问操作;否则未通过检查。
优选的,还包括:所述文件访问引擎中记录文件的定义描述,调用文件访问引擎对所述访问参数的赋值信息进行合法性检查,若与所述文件的定义描述相符,则进行文件访问操作;否则未通过检查。
还包括:根据访问参数的赋值信息查找对应的文件访问引擎,若查找到,则直接调用;否则,建立对应所述文件的文件访问引擎。
还包括:根据数据的定义描述自定义生成数据访问源码,并编译生成自定义引擎。
本发明还提供了数据访问控制系统,包括:
至少一种数据访问引擎生成器,用于对应数据特性和系统环境,提供不同的数据访问模板;读取数据的定义描述,结合相应的数据访问模板生成数据访问源码;对所述数据访问源码进行编译,生成参数化的数据访问引擎;
数据访问应用接口,用于提供统一的访问参数,由应用程序在访问时赋值;其中,所述参数包括数据名称和访问命令;
数据访问控制器,用于根据所述数据访问应用接口的赋值信息,调用相应的数据访问引擎,进行数据访问操作。
其中,所述数据访问引擎包括:数据库访问引擎和文件访问引擎;其中,所述数据库访问引擎按照数据库类型和系统环境,分为联机环境下的层次型引擎、关系型引擎,以及批处理环境下的层次型引擎、关系型引擎;所述文件访问引擎在联机环境和批处理环境下,分别对应每个文件。
优选的,还包括:内存表格生成器,用于对应每种数据库访问引擎建立内存表格,其中记录至少一个数据库的定义描述。
其中,所述数据访问控制器包括:调用单元,用于根据所述数据访问应用接口的赋值信息,调用相应的数据库访问引擎,进行数据访问操作;以及验证单元,用于读取所述内存表格,对数据访问应用接口的赋值信息进行合法性检查,若与所述内存表格中对应数据库的定义描述相符,则触发所述调用单元,否则未通过检查。
优选的,所述数据访问控制器还包括:数据补充单元,用于读取所述内存表格中对应数据库的定义描述,对赋值信息中缺少的访问参数进行补充赋值,满足赋值要求后触发所述调用单元。
其中,所述数据库访问引擎中记录数据库类型的特性信息,用于对所述数据访问应用接口的赋值信息进行合法性检查,若与所述数据库类型的特性信息相符,则进行数据库访问操作,否则未通过检查;所述文件访问引擎中记录文件的定义描述,用于对所述数据访问应用接口的赋值信息进行合法性检查,若与所述文件的定义描述相符,则进行文件访问操作,否则未通过检查。
其中,所述数据访问引擎还包括:自定义引擎,所述数据访问引擎生成器根据数据的定义描述,自定义生成数据访问源码,并编译生成所述自定义引擎。
其中,所述数据访问应用接口包括:层次型接口,关系型接口,文件型接口,以及所述层次型接口、关系型接口、文件型接口的任意组合接口。
优选的,所述数据访问引擎具有扩展性。
与现有技术相比,本发明具有以下优点:
首先,本发明提供了数据访问的公共平台,可用于联机处理环境及批处理环境中不同的机器、操作系统和软件平台下,不同类型的数据库系统和文件处理系统的数据访问操作。通过设置参数化的数据访问引擎,屏蔽复杂的数据库或文件的访问细节,使之对开发人员透明,应用程序对数据访问应用接口赋值正确,即可直接调用相应的数据库访问引擎或文件访问引擎。因此,开发人员或程序员无需了解不同机器、操作系统、软件平台、不同环境下的数据库和文件的访问命令和使用方法,只要掌握编程语言,不必具备数据库或文件的专业知识,就可以进行编程和开发,降低了应用开发的门槛,从而提高开发的进度,降低软件开发的成本。
其次,数据访问引擎中增加了安全控制:第一,在调用数据库访问引擎以前,根据数据库内存表格对数据访问应用接口的赋值信息进行数据库相关属性信息的合法性检查;第二,在数据访问引擎中进行数据库类型特性和文件特性的合法性检查;第三,通过数据访问模板自动生成数据访问引擎。所述安全控制不仅降低编程中数据库或文件访问程序的误码率,而且使系统运行风险得到了有效的控制,使应用的功能和性能得到良好的安全保障。
再次,本发明提供的数据访问引擎,具有对未来数据库存取和访问的扩展能力。
最后,本发明在使用中基本没有给系统带来额外的负担,虽然增加了一层数据访问的控制以及调用数据访问引擎,但从指标测试的结果来看,本发明在应用性能上的影响可以忽略不计。
附图说明
图1是本发明数据访问引擎的生成流程图;
图2是本发明对数据库数据的访问流程图;
图3是本发明对文件数据的访问流程图;
图4是本发明所述数据访问控制系统的结构框图;
图5是本发明所述系统的技术实现框架示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的核心思想是:将不同的机器、操作系统和软件平台、不同环境下的数据库和文件系统的数据访问细节进行封装,生成不同的数据访问引擎,并将数据名称、访问命令等信息设置成统一的访问参数,通过对所述访问参数正确赋值,即可直接调用相应的数据访问引擎执行访问命令。
本发明提供的数据访问控制方法包括数据访问引擎的生成过程和访问过程。所述数据访问引擎用于实现具体的数据访问细节,参照图1,是本发明数据访问引擎的生成流程图。数据访问引擎的生成方式包括系统自动生成和自定义两种方式,其中使用较多的是系统自动生成方式,实现流程如下:
步骤101,对具有某些共性的数据建立统一的数据访问模板。根据不同的数据特性,数据访问分为数据库数据访问和文件数据访问,而数据库按类型又分为关系型数据库和层次型数据库。在不同的系统环境中,本发明提供了联机环境下的关系型数据库访问模板、层次型数据库访问模板、文件访问模板,以及批处理环境下的关系型数据库访问模板、层次型数据库访问模板、文件访问模板。
优选的,还提供了其他可根据数据库的发展而扩展的数据库访问模板,如XML数据库(Extenable Markup Language,是业界公认的一种对交换数据的定义语言),具有对未来数据库存取和访问的扩展能力。上述依据数据特性和系统环境建立的各种数据访问模板,包含了对数据库或文件数据的各种访问功能,如插入、删除、修改、读取等操作,以及出错控制等处理。
步骤102,读取数据的定义描述。按照上述数据分类,数据的定义描述包括数据库的定义描述和文件的定义描述。其中,所述数据库的定义描述指数据库建库的相关信息,包括数据库类型、键值、数据库记录长度、数据库大小等;所述文件的定义描述指文件建立时的相关信息,包括记录长度、文件类型(定长、不定长等)、文件大小等。对于层次型和关系型数据库,定义描述的内容不同;对于文件,用自定义的文件属性进行定义描述。
步骤103,根据不同的数据库定义描述或自定义的文件描述,选择相应的数据访问模板,生成各种语言环境下的数据访问源码。
步骤104,使用各种语言环境下的编译器(如JAVA、C++、Cobol(CommonBusiness Oriented Language,面向商业的通用语言)等),对所述数据访问引擎源码进行编译,从而生成数据访问引擎。与传统的数据访问方式相比较,由于所述数据访问引擎根据数据访问模板直接自动生成,因此减少了程序编写访问代码造成的差错。
本发明提供了三种不同类型的引擎,包括:层次型、关系型和文件访问引擎,在联机环境和批处理环境下分别有统一的访问引擎。其中,层次型引擎支持层次型数据库,如IMS(原名DL1,是IBM主机系统上所使用的数据库系统之一)等,还可扩展支持XML数据库。关系型引擎支持关系型数据库,如UDB(UNIVERSAL DATABASE)、DB2(IBM公司20世纪80年代开始推出的关系型数据库,有多种版本,可用于主机和开放系统)等。文件访问引擎支持IBM主机的VSAM(Virtual Storage Access Method,是IBM主机的一种文件处理系统,支持数据相对地址及键值存取的访问方式)、QSAM(Quened SequentialAccess Method,是IBM主机的一种文件处理系统,是对基本输入、输出文件的顺序存取访问方式)等文件系统,联机环境下如CICS(Customer InformationControl System,是IBM主机的一种交易控制平台,即一个中间件),程序员无需写CICS访问数据库和文件的语句,尤其在批处理环境下无需在程序中对文件进行定义和长度、类型等说明,只需将文件名称等作为变量,赋值到数据接口中,即可调用数据访问引擎直接获得所需要的数据结果。
本发明优选的,还提供了数据访问引擎的自定义方式,在特殊情况下可以由开发人员依据特殊要求,遵循语言环境等使用规则,撰写源码自行定义数据访问引擎,对数据进行访问操作。
通过上述步骤生成的多个数据访问引擎构成引擎模组,当应用程序需要对数据库或文件数据进行访问时,调用所述引擎模组中的数据访问引擎即可。本发明在建立数据访问引擎的具体实现过程中,由于在同一种系统环境下每种数据库类型的数据可以采用统一的访问方式,所以对数据库访问引擎按照数据库类型建立,即每种类型的数据库对应一种数据访问引擎,同一类型的多个数据库访问可以使用同一个访问引擎。而对于文件访问引擎,由于各个文件的定义描述比较灵活,所以对每个文件在同一种系统环境下建立相应的文件访问引擎。上述数据库访问引擎和文件访问引擎的建立方式,可以根据具体的应用进行灵活调整,例如数据库访问引擎也可以对应每个数据库建立,而具有某些数据访问共性的文件也可以建立统一的文件访问引擎,但所有的建立方式都遵循上述步骤。
本发明提供的各种数据访问引擎,支持不同的机器和操作系统,支持不同的交易控制软件平台,支持不同类型的数据库系统和文件处理系统,可用于联机处理环境及批处理环境,并具有对未来数据库存取和访问的适应能力。
在本发明提供的数据访问实施例中,对数据库数据的访问与对文件的访问过程稍有不同,以下分别说明。参照图2,是本发明对数据库数据的访问流程图。
步骤201,应用程序对访问参数赋值。本发明在建立数据访问引擎时,将访问命令、数据库名、数据库表名等信息设置成访问参数,因此所述数据访问引擎为参数化的访问引擎,其中所述访问命令包括插入、删除、修改、读取等操作。当开发人员在程序开发过程中需要对指定数据库数据进行各种访问操作时,可以通过在应用程序中对所述访问参数赋值,直接调用相应的数据库访问引擎,进行数据库访问。因此,开发人员可以不用了解所要访问的数据存放在什么类型的数据库中,更不需要了解不同数据库的编程语言。
优选步骤202,对所述赋值信息进行合法性验证。为避免由于赋值信息错误造成后续的数据库访问错误,从而带来数据库访问的性能问题,本发明在调用数据库访问引擎以前,先检查赋值信息是否正确,检查的依据是数据库内存表格。所述数据库内存表格记录了数据库访问的相关属性,包括数据库名、键值名、键值长度、键值偏移量、数据库记录长度等信息,在建立数据库访问引擎时根据数据库的定义描述建立。内存表格以数据表的形式存储,一张内存表格对应一种数据库访问引擎,即内存表格也以数据库类型和应用的系统环境区分,而每张表格记录了多个数据库的信息。当然,也可以根据具体应用将所有类型的数据库信息记录在同一张内存表格中。
当应用程序需要访问某个数据库时,系统根据所述赋值信息中的数据库名或数据库表名等信息搜索内存表格中对应的数据库记录,并将赋值信息与搜索到的数据库记录进行比较。若相符,则通过合法性验证,所述赋值信息正确;若不相符,则赋值有误或赋值不恰当,便向所述应用程序返回错误信息,不会造成后续的数据库访问错误,因此在很大程度上能够避免数据库访问的性能问题。
本发明优选的,所述内存表格的另一个作用是根据上述检查结果,对不完整的赋值信息进行补充,如赋值信息中缺少的参数赋值,系统自动根据内存表格的内容补充完整,以满足数据访问引擎的数据要求。
步骤203,赋值信息通过合法性检查后,调用相应的数据库访问引擎。由于内存表格对应数据库类型和系统环境建立,所以根据赋值信息中的数据库名或数据库表名等查找到相应的内存表格,也就确定了数据库类型和应用的系统环境,即查找到了可调用的数据访问引擎。
优选步骤204,数据库访问引擎进行数据库类型特性的合法性检查。本发明优选的,在数据库访问引擎中也需要对访问参数的赋值信息进行合法性检查,但与上述检查不同的是:数据库访问引擎所做的检查针对的是数据库类型的特性信息,各种类型的数据库具有不同的类型特性,同一类型的数据库在不同系统环境下的特性也不相同;而在调用所述数据库访问引擎前所做的检查针对的是指定数据库的相关属性信息,即每个数据库建库时根据定义描述记录的属性信息。若对赋值信息进行的数据库类型的检查通过,则继续执行步骤205;否则,也向所述应用程序返回错误信息,因此也不会造成后续的数据库访问错误。
步骤205,数据库访问引擎根据赋值信息中的访问命令,对指定的数据库执行相应的访问操作,完成数据访问后将结果返回给应用程序。
根据应用的灵活度掌握,由于本实施例中文件访问引擎是对应每个文件建立,与数据库访问引擎的建立不同,所以对文件的访问流程也有不同之处。参照图3,是本发明对文件数据的访问流程图。
步骤301,应用程序对访问参数赋值。本步骤同上,将插入、删除、修改、读取等访问命令、文件名等信息设置为访问参数,根据需要对所述访问参数赋值。
步骤302,根据赋值信息中的文件名查找对应的文件访问引擎,若查找到,则可以直接调用,执行步骤304;否则,继续步骤303。例如实现对FILEA文件的访问,如果根据FILEA文件的定义描述已经建立文件访问引擎,并以文件名FILEA命名,则根据文件名就可以查找到文件访问引擎FILEA。但是如果文件较多,预先并没有建立所有文件的访问引擎,所以对访问次数较少或没有访问过的文件,则需要在访问时建立。
步骤303,对于没有建立访问引擎的文件,按照图1所示流程建立文件访问引擎,以便再次访问时可以直接调用。按照各种文件的特性和使用的各种语言环境,建立对应的文件访问模板,模板中包含了对文件的各种访问功能、出错控制等过程。对于和各个文件特性相关的字段用统一含义的通配符代替,如打开文件语句OPEN INPUT &FILNAME,其中&FILNAME即为文件名的通配符。然后读取文件的定义描述,并结合文件访问模板生成对文件的访问引擎,即将所述通配符根据文件定义描述做替换(如&FILNAME替换为FILEA),并编译生成以文件名为程序名的文件访问引擎(如FILEA的文件访问引擎即名为“FILEA”的程序)。
步骤304,调用对应的文件访问引擎。
优选步骤305,文件访问引擎对赋值信息进行文件特性的合法性检查。文件访问引擎中也增加了安全控制,若赋值信息与文件特性的描述相符,则赋值正确;否则,向应用程序返回错误信息,同理不会造成后续的文件访问错误,在很大程度上避免文件访问的性能问题。所述安全控制不仅降低编程中数据库或文件访问程序的误码率,而且使系统运行风险得到了有效的控制,使应用的功能和性能得到良好的安全保障。
步骤306,文件访问引擎根据赋值信息中的访问命令,对指定文件执行相应的访问操作,完成数据访问后将结果返回给应用程序。
在上述对数据库和文件的数据访问流程中,由于设置了参数化的数据访问引擎,将复杂的数据库或文件的访问细节屏蔽,使之对开发人员透明,因此只要应用程序对访问参数的赋值正确,即可直接调用相应的数据库访问引擎或文件访问引擎。开发人员或程序员无需了解不同机器、操作系统、软件平台、不同环境下的数据库和文件的访问命令和使用方法,只要掌握编程语言,不必具备数据库或文件的专业知识,就可以进行编程和开发,降低了应用开发的门槛,从而提高开发的进度,降低软件开发的成本。
本发明还提供了实现上述数据访问引擎的系统,参照图4所示,是本发明所述数据访问控制系统的结构框图。所述系统包括至少一种数据访问引擎生成器401,数据访问应用接口402,数据库内存表格生成器403,以及数据访问控制器404。
不同的数据访问引擎生成器401,用于创建不同的数据访问引擎,所述数据访问引擎实现具体的数据访问细节。首先根据不同系统环境下各种数据库和文件的特性,提供不同的数据访问模板,模板中包含了对数据库和文件数据的各种访问功能,如插入、删除、修改、读取等操作,以及出错控制等处理。本发明分别在联机环境和批处理环境下提供关系型数据库访问模板、层次型数据库访问模板、文件访问模板,以及其他可根据数据库的发展而扩展的数据库访问模板,如XML数据库。
然后通过读取数据库管理系统和文件系统中的数据库定义描述和文件定义描述,并结合所述各种数据访问模板,生成各种语言环境下的数据访问源码。使用各种语言环境下的编译器,对所述数据访问源码进行编译处理,从而生成数据访问引擎,多个数据访问引擎构成引擎模组,可以在不同的环境下根据不同的数据访问需求被调用。与传统的数据访问方式相比较,由于所述数据访问引擎根据数据访问模板直接自动生成,因此减少了程序编写访问代码造成的差错。
针对所述数据访问模板,本发明创建了联机环境下的层次型引擎、关系型引擎、文件访问引擎,以及批处理环境下的层次型引擎、关系型引擎、文件访问引擎。其中,所述层次型、关系型数据库访问引擎针对数据库类型建立,而文件访问引擎对应每个文件建立,各种数据访问引擎的建立可以根据具体应用进行调整,达到灵活访问不同数据的目的。而且,所述数据访问引;擎生成器401也相应的具有多个,对于不同类型的数据库和文件以及使用的各种语言环境,分别采用不同的数据访问引擎生成器401建立数据访问引擎。
优选的,数据访问引擎生成器401还可以生成自定义引擎,在特殊情况下由开发人员依据特殊要求,遵循数据访问应用接口402的标准及语言的使用规则,撰写源码自行定义数据访问引擎,对数据进行访问操作。
数据访问应用接口402,用于提供统一的访问参数,包括各种访问命令、数据库名、数据库表名、文件名等信息,为各种数据访问引擎的调用建立标准的访问接口变量,由应用程序在访问时赋值,即可调用相应的数据访问引擎完成数据库或文件的访问。因此,开发人员可以不用了解所要访问的数据存放在什么类型的数据库或文件中,更不需要了解不同数据库的编程语言。
本发明提供的数据访问应用接口402包括:层次型接口、关系型接口、文件型接口,以及所有层次型和关系型的数据库、所有类型的文件、或者以上若干类型组合的混合型接口,可支持层次型、关系型数据库和各类文件的访问。
数据库内存表格生成器403,是本发明的优选设置,用于根据数据库的定义描述生成数据库内存表格,其中记录了数据库访问的相关属性,包括数据库名、键值名、键值长度、键值偏移量、数据库记录长度等信息。对应上述数据库访问引擎的建立,每种数据库访问引擎建有一张内存表格,其中记录多个数据库信息。所述内存表格的作用包括:第一,通过检查数据访问应用接口402的赋值是否正确,实现对某个数据库属性信息的合法性检查;第二,用于补充接口数据,以满足数据访问引擎的数据要求。
数据访问控制器404,用于实现对不同类型的数据库和文件的访问控制,各种类型的数据访问均使用同一个数据访问控制器,根据数据访问应用接口402的赋值信息,调用相应的数据访问引擎,对指定数据库或文件进行数据访问操作,包括验证单元、数据补充单元和调用单元。
所述验证单元是本发明的优选设置,用于在进行数据库访问时,检查所述数据访问应用接口402的赋值是否正确。通过读取上述内存表格,将接口赋值信息与内存表格中对应的数据库属性记录相比较,若相符,则赋值正确;否则,返回出错信息。由此,不会造成后续的数据库访问错误,在很大程度上能够避免数据库访问的性能问题。
数据补充单元也是本发明的优选设置,用于根据内存表格中的数据库记录,对不完整的接口赋值信息进行补充。为满足数据访问引擎的数据要求,当所述验证单元将接口赋值信息与内存表格中对应的数据库属性记录比较后,如果赋值信息中缺少必要的参数赋值,则自动根据内存表格的内容补充完整。
调用单元,用于根据经所述验证单元、数据补充单元处理的赋值信息,调用相应的数据访问引擎,对指定数据库或文件执行相应的访问命令,在完成数据访问后将结果返回给应用程序。
优选的,在数据访问引擎中增加了安全控制,各类数据访问引擎首先进行数据库类型特性和文件特性的合法性检查,检查通过后在进行数据访问操作,避免接口赋值错误造成后续的数据访问错误。对于数据库的访问,数据库访问引擎中的检查与验证单元的合法性检查不同:各种类型的数据库具有不同的类型特性,同一类型的数据库在不同系统环境下的特性也不相同,所述类型特性的检查在数据访问引擎中实现;而各个数据库相关属性的合法性检查在调用数据访问引擎以前进行。对于文件的访问,只在文件访问引擎中对接口赋值数据进行文件特性的合法性检查,若赋值信息与文件特性的描述相符,则赋值正确;否则,向应用程序返回错误信息。
本发明提供的数据访问控制系统,可用于联机处理环境及批处理环境中不同的机器、操作系统和软件平台下,不同类型的数据库系统和文件处理系统的数据访问操作。参照图5,是本发明所述系统的技术实现框架示意图。在不同的操作系统环境下,如Z/OS、Linux、Unix、Window、Dos/Vse、AS400等,建立统一的数据访问应用接口,通过数据访问控制器调用各种数据访问引擎,满足应用对各种数据库和文件的访问,同时进行有关的访问控制,避免出现访问错误和性能问题。本发明在使用中基本没有给系统带来额外的负担,虽然在操作系统之上增加了一层数据访问的控制以及调用数据访问引擎,但从指标测试的结果来看,本发明在应用性能上的影响可以忽略不计。
以上对本发明所提供的数据访问控制方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (18)
1、数据访问控制方法,其特征在于,包括:
对应数据特性和系统环境,提供不同的数据访问模板;
读取数据的定义描述,结合相应的数据访问模板生成数据访问源码;
对所述数据访问源码进行编译,生成参数化的数据访问引擎;
建立统一的访问参数,所述参数包括数据名称和访问命令;
对所述访问参数赋值,调用相应的数据访问引擎,进行数据访问操作。
2、根据权利要求1所述的方法,其特征在于:所述数据访问引擎为数据库访问引擎,按照数据库类型和系统环境,分为联机环境下的层次型引擎、关系型引擎,以及批处理环境下的层次型引擎、关系型引擎。
3、根据权利要求1所述的方法,其特征在于:所述数据访问引擎为文件访问引擎,在联机环境和批处理环境下分别对应每个文件。
4、根据权利要求2所述的方法,其特征在于,还包括:对应每种数据库访问引擎建立内存表格,其中记录至少一个数据库的定义描述;对所述访问参数的赋值信息进行合法性检查,若与所述内存表格中对应数据库的定义描述相符,则调用相应的数据库访问引擎,否则未通过检查。
5、根据权利要求4所述的方法,其特征在于,还包括:读取所述内存表格中数据库的定义描述,对赋值信息中缺少的访问参数进行补充赋值,满足赋值要求后调用相应的数据库访问引擎。
6、根据权利要求2所述的方法,其特征在于,还包括:所述数据库访问引擎中记录数据库类型的特性信息,调用数据库访问引擎对所述访问参数的赋值信息进行合法性检查,若与所述数据库类型的特性信息相符,则进行数据库访问操作;否则未通过检查。
7、根据权利要求3所述的方法,其特征在于,还包括:所述文件访问引擎中记录文件的定义描述,调用文件访问引擎对所述访问参数的赋值信息进行合法性检查,若与所述文件的定义描述相符,则进行文件访问操作;否则未通过检查。
8、根据权利要求3所述的方法,其特征在于,还包括:根据访问参数的赋值信息查找对应的文件访问引擎,若查找到,则直接调用;否则,建立对应所述文件的文件访问引擎。
9、根据权利要求1所述的方法,其特征在于,还包括:根据数据的定义描述自定义生成数据访问源码,并编译生成自定义引擎。
10、数据访问控制系统,其特征在于,包括:
至少一种数据访问引擎生成器,用于对应数据特性和系统环境,提供不同的数据访问模板;读取数据的定义描述,结合相应的数据访问模板生成数据访问源码;对所述数据访问源码进行编译,生成参数化的数据访问引擎;
数据访问应用接口,用于提供统一的访问参数,由应用程序在访问时赋值;其中,所述参数包括数据名称和访问命令;
数据访问控制器,用于根据所述数据访问应用接口的赋值信息,调用相应的数据访问引擎,进行数据访问操作。
11、根据权利要求10所述的系统,其特征在于,所述数据访问引擎包括:数据库访问引擎和文件访问引擎;其中,所述数据库访问引擎按照数据库类型和系统环境,分为联机环境下的层次型引擎、关系型引擎,以及批处理环境下的层次型引擎、关系型引擎;所述文件访问引擎在联机环境和批处理环境下,分别对应每个文件。
12、根据权利要求11所述的系统,其特征在于,还包括:内存表格生成器,用于对应每种数据库访问引擎建立内存表格,其中记录至少一个数据库的定义描述。
13、根据权利要求12所述的系统,其特征在于,所述数据访问控制器包括:调用单元,用于根据所述数据访问应用接口的赋值信息,调用相应的数据库访问引擎,进行数据访问操作;以及验证单元,用于读取所述内存表格,对数据访问应用接口的赋值信息进行合法性检查,若与所述内存表格中对应数据库的定义描述相符,则触发所述调用单元,否则未通过检查。
14、根据权利要求12所述的系统,其特征在于,所述数据访问控制器还包括:数据补充单元,用于读取所述内存表格中对应数据库的定义描述,对赋值信息中缺少的访问参数进行补充赋值,满足赋值要求后触发所述调用单元。
15、根据权利要求11所述的系统,其特征在于:所述数据库访问引擎中记录数据库类型的特性信息,用于对所述数据访问应用接口的赋值信息进行合法性检查,若与所述数据库类型的特性信息相符,则进行数据库访问操作,否则未通过检查;所述文件访问引擎中记录文件的定义描述,用于对所述数据访问应用接口的赋值信息进行合法性检查,若与所述文件的定义描述相符,则进行文件访问操作,否则未通过检查。
16、根据权利要求10所述的系统,其特征在于,所述数据访问引擎还包括:自定义引擎,所述数据访问引擎生成器根据数据的定义描述,自定义生成数据访问源码,并编译生成所述自定义引擎。
17、根据权利要求11所述的系统,其特征在于,所述数据访问应用接口包括:层次型接口,关系型接口,文件型接口,以及所述层次型接口、关系型接口、文件型接口的任意组合接口。
18、根据权利要求10所述的系统,其特征在于:所述数据访问引擎具有扩展性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610170642A CN1976320B (zh) | 2006-12-22 | 2006-12-22 | 数据访问控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610170642A CN1976320B (zh) | 2006-12-22 | 2006-12-22 | 数据访问控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1976320A true CN1976320A (zh) | 2007-06-06 |
CN1976320B CN1976320B (zh) | 2010-05-26 |
Family
ID=38126122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610170642A Active CN1976320B (zh) | 2006-12-22 | 2006-12-22 | 数据访问控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1976320B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193947A (zh) * | 2010-03-18 | 2011-09-21 | 华为技术有限公司 | 数据访问处理方法及系统 |
CN102811445A (zh) * | 2011-06-01 | 2012-12-05 | 中兴通讯股份有限公司 | 配置数据的检查方法及装置 |
CN103440130A (zh) * | 2013-08-26 | 2013-12-11 | 成都金山数字娱乐科技有限公司 | 一种数据处理方法以及装置 |
CN107193963A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军后勤工程学院 | 一种数据库应用系统的分布式开发方法 |
CN109062954A (zh) * | 2018-06-23 | 2018-12-21 | 上海泽阳智能科技有限公司 | 一种高效的数据交换和数据源隔离系统 |
CN110888855A (zh) * | 2018-09-07 | 2020-03-17 | 福建天晴数码有限公司 | 一种php环境中兼容多版本数据库的方法及终端 |
CN111008233A (zh) * | 2019-11-24 | 2020-04-14 | 浪潮电子信息产业股份有限公司 | 一种kv数据库的访问方法、装置及设备 |
US10839328B2 (en) | 2006-03-28 | 2020-11-17 | Advanced New Technologies Co., Ltd. | Method and system for risk monitoring in online business |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999017232A1 (en) * | 1997-09-26 | 1999-04-08 | Ontos, Inc. | Object model mapping and runtime engine for employing relational database with object oriented software |
CN1284683A (zh) * | 1999-08-11 | 2001-02-21 | 国际商业机器中国有限公司 | 集成银行核心业务的方法和系统 |
-
2006
- 2006-12-22 CN CN200610170642A patent/CN1976320B/zh active Active
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10839328B2 (en) | 2006-03-28 | 2020-11-17 | Advanced New Technologies Co., Ltd. | Method and system for risk monitoring in online business |
CN102193947A (zh) * | 2010-03-18 | 2011-09-21 | 华为技术有限公司 | 数据访问处理方法及系统 |
CN102193947B (zh) * | 2010-03-18 | 2014-04-02 | 华为技术有限公司 | 数据访问处理方法及系统 |
CN102811445A (zh) * | 2011-06-01 | 2012-12-05 | 中兴通讯股份有限公司 | 配置数据的检查方法及装置 |
CN102811445B (zh) * | 2011-06-01 | 2017-03-22 | 中兴通讯股份有限公司 | 配置数据的检查方法及装置 |
CN103440130A (zh) * | 2013-08-26 | 2013-12-11 | 成都金山数字娱乐科技有限公司 | 一种数据处理方法以及装置 |
CN107193963A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军后勤工程学院 | 一种数据库应用系统的分布式开发方法 |
CN107193963B (zh) * | 2017-05-24 | 2020-04-21 | 中国人民解放军陆军勤务学院 | 一种数据库应用系统的分布式开发方法 |
CN109062954A (zh) * | 2018-06-23 | 2018-12-21 | 上海泽阳智能科技有限公司 | 一种高效的数据交换和数据源隔离系统 |
CN110888855A (zh) * | 2018-09-07 | 2020-03-17 | 福建天晴数码有限公司 | 一种php环境中兼容多版本数据库的方法及终端 |
CN111008233A (zh) * | 2019-11-24 | 2020-04-14 | 浪潮电子信息产业股份有限公司 | 一种kv数据库的访问方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN1976320B (zh) | 2010-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1976320A (zh) | 数据访问控制方法及系统 | |
CN110209650B (zh) | 数据规整迁移方法、装置、计算机设备和存储介质 | |
US8775412B2 (en) | Method and system for a self-healing query access plan | |
Xu et al. | Integrating hadoop and parallel dbms | |
CN1112642C (zh) | 配置工具中的设计部件复用方法 | |
US6304867B1 (en) | System and method for enhanced performance of a relational database management system through the use of application-specific memory-resident data | |
US7606792B2 (en) | System and method for efficient evaluation of a query that invokes a table valued function | |
US9213707B2 (en) | Ordered access of interrelated data files | |
CN110795455A (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
WO2017019879A1 (en) | Multi-query optimization | |
CN103984582A (zh) | 一种热更新方法和装置 | |
CN1346466A (zh) | 用于在数据库中执行程序设计语言/结构化查询语言存储的代码对象的方法和设备 | |
CN1221912A (zh) | 用于发现内存泄漏和运行期信息的对象堆分析技术 | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
CN1645372A (zh) | 一种实时内存数据库通用约束的实现方法 | |
CN1786925A (zh) | 基于c++映射的ttcn-3测试系统及测试方法 | |
CN114281342A (zh) | 一种代码自动生成方法 | |
CN1295778C (zh) | 一种验证芯片硬件行为与软件模拟行为的一致性的方法 | |
CN100527131C (zh) | 一种ims数据库互动式访问方法和工具 | |
CN100346308C (zh) | 一种基于数据库操作的自动化测试方法 | |
US20230333973A1 (en) | Retrying failed test cases in software testing using parallel threads | |
US20230333972A1 (en) | Software testing in parallel with different database instances | |
CN105320763A (zh) | 一种将xml文件的内容导入数据库的方法和装置 | |
CN1945586A (zh) | 电子电路设计的自动构建系统及自动构建方法 | |
CN109857380B (zh) | 一种工作流文件编译方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |