CN102779092A - 引用检查系统和引用检查方法 - Google Patents

引用检查系统和引用检查方法 Download PDF

Info

Publication number
CN102779092A
CN102779092A CN2012102183845A CN201210218384A CN102779092A CN 102779092 A CN102779092 A CN 102779092A CN 2012102183845 A CN2012102183845 A CN 2012102183845A CN 201210218384 A CN201210218384 A CN 201210218384A CN 102779092 A CN102779092 A CN 102779092A
Authority
CN
China
Prior art keywords
quoting
data
citing
inspection
cited
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
Application number
CN2012102183845A
Other languages
English (en)
Other versions
CN102779092B (zh
Inventor
颜刊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
You Pu Information Technology Co., Ltd of UFSOFT
Original Assignee
Yonyou Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yonyou Software Co Ltd filed Critical Yonyou Software Co Ltd
Priority to CN201210218384.5A priority Critical patent/CN102779092B/zh
Publication of CN102779092A publication Critical patent/CN102779092A/zh
Application granted granted Critical
Publication of CN102779092B publication Critical patent/CN102779092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种引用检查系统,包括:数据生成单元,用于引用方生成对应于引用关系的引用查询数据;数据存储单元,用于所述引用方将所述引用查询数据存储至所述引用检查系统预设的引用信息表中;数据获取单元,用于被引用方在进行引用检查时,获取所述引用信息表中存储的所述引用查询数据;处理单元,所述被引用方根据所述引用查询数据获得对应的引用数据。相应地,本发明还提出了一种引用检查系方法。通过本发明的技术方案,可以降低引用方、被引用方等之间的耦合,并且既能满足简单的引用判断,又能处理复杂的检查逻辑。

Description

引用检查系统和引用检查方法
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种引用检查系统和一种引用检查系方法。
背景技术
在软件开发中,特别在分模块、分层次开发中,引用其他模块的情况很多,对数据的修改,势必影响其他模块的使用。所以引用检查工作非常必要。通常的方法采用硬编码来实现,检查逻辑分散在各个模块中,针对不同的引用,需要编写不同的检测代码,增加了模块间的耦合性,不便于管理和扩展。在相关技术中,通过建立数据表,存储简单的引用信息,生成SQL语句,然后进行数据库查询,获得引用数据。这种方式有一定局限性,对于复杂的SQL语句、复杂逻辑以及一些没有采用数据库存储的系统不适用。随着规模的扩大,开发人员难以了解和控制其他模块对数据的引用,但是引用的检查是必须的,寻找一种通用的检查方法,迫在眉睫。
具体地,相关技术中的硬编码技术如图3所示,在引用方提供方法,被引用方(图中的基础数据)调用该方法进行检查。这种硬编码的方式,比较直接,但是,引用方与基础数据之间的代码融在一起,系统耦合性很高,如果引用方检查方法改变,势必影响基础数据的检查调用,而且,如果有多个引用方,需要写多份检查逻辑,基础数据模块也要做相应修改。极大限制了模块化发展。
还有一种方法,通过定义简单的数据结构,然后根据属性值生成SQL语句,通过数据查询检查引用。这种方案,对于简单的数据引用还是不错的解决方案,但是对于复杂查询,或者复杂逻辑,或者存储介质并非数据库,例如文件、格式化串、对象等,这种方案的局限性就会显露出来。
因此,本发明提供了一种新的引用检查技术,可以降低引用方、被引用方等之间的耦合,并且既能满足简单的引用判断,又能处理复杂的检查逻辑。
发明内容
本发明正是基于上述问题,提出了一种新的引用检查技术,可以降低引用方、被引用方等之间的耦合,并且既能满足简单的引用判断,又能处理复杂的检查逻辑。
有鉴于此,本发明提出了一种引用检查系统,包括:数据生成单元,用于引用方生成对应于引用关系的引用查询数据;数据存储单元,用于所述引用方将所述引用查询数据存储至所述引用检查系统预设的引用信息表中;数据获取单元,用于被引用方在进行引用检查时,获取所述引用信息表中存储的所述引用查询数据;处理单元,所述被引用方根据所述引用查询数据获得对应的引用数据。
在该技术方案中,将进行引用检查的功能部分独立开来,减少了大量引用代码的编写,减轻了开发人员负担,降低了成本,而且便于对引用进行控制和管理;同时,被引用方,在对数据进行修改、删除操作时,只需调用检查服务进行检查即可,不用关心哪个模块在引用,有多少个模块引用,检查系统会自动遍历针对该类型数据的所有引用配置项,降低引用方与被引用方之间的耦合。
在上述技术方案中,优选地,所述数据生成单元生成的所述引用查询数据包括:配置数据、预置SQL语句或存储过程;所述处理单元用于:根据所述配置数据生成并执行对应的SQL语句、执行所述预置SQL语句或执行所述存储过程,以获得所述引用数据。
在上述技术方案中,优选地,所述数据生成单元生成的所述引用查询数据包括:服务组件;所述处理单元用于:根据所述引用检查系统提供的接口建立对应的服务组件,以实现查询服务,从而获得所述引用数据。
在该技术方案中,大多数情况,可以通过简单配置项、预置SQL语句或存储过程来实现,如果检查逻辑很复杂,难以用查询语句、存储过程来实现,或者用户存储数据的介质为文件或者其他,这就需要通过服务的方式来实现。
在上述技术方案中,优选地,还包括:逻辑设置单元,用于预设检查结果逻辑;结果展示单元,用于展示每个检查到的引用数据的检查结果和/或总的检查结果。在该技术方案中,检查结果逻辑可以由用户自定义,比如存在引用项为true,不存在为false,从而定义每个引用数据的检查结果;可以定义若所有的均为true,则总结果为true,否则总结果为false。
在上述技术方案中,优选地,还包括:数据展示单元,用于对所述处理单元检查到的引用数据进行展示。在该技术方案中,通过对引用数据进行展示,使得结果更为直观,便于进行进一步处理。
在上述技术方案中,优选地,还包括:关系获取单元,用于通过设置引用简表,以自动获取所述引用方和所述被引用方之间的引用关系。在该技术方案中,通过设置该引用简表,可以对引用关系进行自动获取。
根据本发明的又一方面,还提出了一种引用检查方法,包括:步骤202,引用方生成对应于引用关系的引用查询数据,并存储至预设的引用信息表中;步骤204,被引用方在进行引用检查时,获取所述引用信息表中存储的所述引用查询数据,利用所述引用查询数据进行查询操作以获得对应的引用数据。
在该技术方案中,将进行引用检查的功能部分独立开来,减少了大量引用代码的编写,减轻了开发人员负担,降低了成本,而且便于对引用进行控制和管理;同时,被引用方,在对数据进行修改、删除操作时,只需调用检查服务进行检查即可,不用关心哪个模块在引用,有多少个模块引用,检查系统会自动遍历针对该类型数据的所有引用配置项,降低引用方与被引用方之间的耦合。
在上述技术方案中,优选地,所述引用查询数据包括:配置数据、预置SQL语句或存储过程,在所述步骤204包括:所述被引用方在进行引用检查时,根据所述配置数据生成并执行对应的SQL语句、执行所述预置SQL语句或执行所述存储过程,以获得所述引用数据。
在上述技术方案中,优选地,所述引用查询数据包括:服务组件,则所述步骤204包括:所述被引用方在进行引用检查时,根据预设的接口建立对应的服务组件,以实现对应的查询服务,从而获得所述引用数据。
在该技术方案中,大多数情况,可以通过简单配置项、预置SQL语句或存储过程来实现,如果检查逻辑很复杂,难以用查询语句、存储过程来实现,或者用户存储数据的介质为文件或者其他,这就需要通过服务的方式来实现。
在上述技术方案中,优选地,在实现所述查询服务时,还包括:预设检查结果逻辑;展示每个检查到的引用数据的检查结果和/或总的检查结果。在该技术方案中,检查结果逻辑可以由用户自定义,比如存在引用项为true,不存在为false,从而定义每个引用数据的检查结果;可以定义若所有的均为true,则总结果为true,否则总结果为false。
在上述技术方案中,优选地,还包括:展示检查到的引用数据。在该技术方案中,通过对引用数据进行展示,使得结果更为直观,便于进行进一步处理。
在上述技术方案中,优选地,还包括:设置引用简表,以自动获取所述引用方和所述被引用方之间的引用关系。在该技术方案中,通过设置该引用简表,可以对引用关系进行自动获取。
通过以上技术方案,可以降低引用方、被引用方等之间的耦合,并且既能满足简单的引用判断,又能处理复杂的检查逻辑。
附图说明
图1示出了根据本发明的实施例的引用检查系统的框图;
图2示出了根据本发明的实施例的引用检查方法的流程图;
图3示出了相关技术的引用检查系统的结构示意图;
图4示出了根据本发明的实施例的引用检查系统的结构示意图;
图5示出了根据本发明的实施例的通过服务接口实现引用检查的流程图;
图6示出了根据本发明的实施例的通过预置配置项实现引用检查的流程图;
图7示出了根据本发明的实施例的通过服务接口实现引用检查的具体流程图;
图8示出了根据本发明的实施例的多方引用的情况下进行引用检查的原理图;
图9示出了根据本发明的实施例的表决器的原理图;
图10示出了根据本发明的实施例的单据结构图;
图11示出了根据本发明的实施例的单据与部门之间引用关系示意图;
图12示出了根据本发明的实施例的维度查询设计器的原理图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的引用检查系统的框图。
如图1所示,根据本发明的实施例的引用检查系统,包括:数据生成单元101,用于引用方生成对应于引用关系的引用查询数据;数据存储单元102,用于引用方将引用查询数据存储至引用检查系统预设的引用信息表中;数据获取单元104,用于被引用方在进行引用检查时,获取引用信息表中存储的引用查询数据;处理单元106,被引用方根据引用查询数据获得对应的引用数据。
在该技术方案中,将进行引用检查的功能部分独立开来,减少了大量引用代码的编写,减轻了开发人员负担,降低了成本,而且便于对引用进行控制和管理;同时,被引用方,在对数据进行修改、删除操作时,只需调用检查服务进行检查即可,不用关心哪个模块在引用,有多少个模块引用,检查系统会自动遍历针对该类型数据的所有引用配置项,降低引用方与被引用方之间的耦合。
在上述技术方案中,优选地,数据生成单元101生成的引用查询数据包括:配置数据、预置SQL语句或存储过程;处理单元106用于:根据配置数据生成并执行对应的SQL语句、执行预置SQL语句或执行存储过程,以获得引用数据。
在上述技术方案中,优选地,数据生成单元101生成的引用查询数据包括:服务组件;处理单元106用于:根据引用检查系统100提供的接口建立对应的服务组件,以实现查询服务,从而获得引用数据。
在该技术方案中,大多数情况,可以通过简单配置项、预置SQL语句或存储过程来实现,如果检查逻辑很复杂,难以用查询语句、存储过程来实现,或者用户存储数据的介质为文件或者其他,这就需要通过服务的方式来实现。
在上述技术方案中,优选地,还包括:逻辑设置单元108,用于预设检查结果逻辑;结果展示单元110,用于展示每个检查到的引用数据的检查结果和/或总的检查结果。在该技术方案中,检查结果逻辑可以由用户自定义,比如存在引用项为true,不存在为false,从而定义每个引用数据的检查结果;可以定义若所有的均为true,则总结果为true,否则总结果为false。
在上述技术方案中,优选地,还包括:数据展示单元112,用于对处理单元106检查到的引用数据进行展示。在该技术方案中,通过对引用数据进行展示,使得结果更为直观,便于进行进一步处理。
在上述技术方案中,优选地,还包括:关系获取单元114,用于通过设置引用简表,以自动获取引用方和被引用方之间的引用关系。在该技术方案中,通过设置该引用简表,可以对引用关系进行自动获取。
图2示出了根据本发明的实施例的引用检查方法的流程图。
如图2所示,根据本发明的实施例的引用检查方法,包括:步骤202,引用方生成对应于引用关系的引用查询数据,并存储至预设的引用信息表中;步骤204,被引用方在进行引用检查时,获取引用信息表中存储的引用查询数据,利用引用查询数据进行查询操作以获得对应的引用数据。
在该技术方案中,将进行引用检查的功能部分独立开来,减少了大量引用代码的编写,减轻了开发人员负担,降低了成本,而且便于对引用进行控制和管理;同时,被引用方,在对数据进行修改、删除操作时,只需调用检查服务进行检查即可,不用关心哪个模块在引用,有多少个模块引用,检查系统会自动遍历针对该类型数据的所有引用配置项,降低引用方与被引用方之间的耦合。
在上述技术方案中,优选地,引用查询数据包括:配置数据、预置SQL语句或存储过程,在步骤204包括:被引用方在进行引用检查时,根据配置数据生成并执行对应的SQL语句、执行预置SQL语句或执行存储过程,以获得引用数据。
在上述技术方案中,优选地,引用查询数据包括:服务组件,则步骤204包括:被引用方在进行引用检查时,根据预设的接口建立对应的服务组件,以实现对应的查询服务,从而获得引用数据。
在该技术方案中,大多数情况,可以通过简单配置项、预置SQL语句或存储过程来实现,如果检查逻辑很复杂,难以用查询语句、存储过程来实现,或者用户存储数据的介质为文件或者其他,这就需要通过服务的方式来实现。
在上述技术方案中,优选地,在实现查询服务时,还包括:预设检查结果逻辑;展示每个检查到的引用数据的检查结果和/或总的检查结果。在该技术方案中,检查结果逻辑可以由用户自定义,比如存在引用项为true,不存在为false,从而定义每个引用数据的检查结果;可以定义若所有的均为true,则总结果为true,否则总结果为false。
在上述技术方案中,优选地,还包括:展示检查到的引用数据。在该技术方案中,通过对引用数据进行展示,使得结果更为直观,便于进行进一步处理。
在上述技术方案中,优选地,还包括:设置引用简表,以自动获取引用方和被引用方之间的引用关系。在该技术方案中,通过设置该引用简表,可以对引用关系进行自动获取。
图4示出了根据本发明的实施例的引用检查系统的结构示意图。
如图4所示,在根据本发明的实施例的引用检查系统中,将检查逻辑从系统中分离出来,成为独立的模块。可以通过SQL语句、存储过程和服务来进行检查。对于引用方,如果需要加约束限制,只需预置数据到检查系统,对于比较复杂的引用检查,需要首先实现检查服务提供的服务接口。对于被引用方,在进行数据修改或删除时,只需调用该系统的检查服务即可。整个检查系统,独立于各个模块之外。
大多数情况,可以通过简单配置项、预置SQL语句或存储过程来实现,从而减少了大量引用代码的编写,减轻了开发人员负担,降低了成本,而且便于对引用进行控制和管理。对于比较复杂的引用检查,还提供了服务接口,具有很强的适用性和扩展性。被引用方,在对数据进行修改、删除操作时,只需调用检查服务进行检查即可,不用关心哪个模块在引用,有多少个模块引用,检查系统会自动遍历针对该类型数据的所有引用配置项。
在本发明的技术方案中,分为多个步骤:
(一)首先需要对系统的数据结构进行设计,具体地,下面对该引用检查系统的数据结构的一些结构和属性进行介绍。
1)引用简表,如表1所示,可以自动根据外键抽取引用关系,以根据此表进行。此表预置的表信息包括哪些表需要检查,哪些表需要排除,排除的表不记入引用检查。当然,引用简表在该系统中并不是必要的。
Figure BDA00001818428200081
表1
2)引用信息表,如表2所示,是引用检查系统中最重要和必要的,定义了检查类型、检查方式,以及发现引用后的处理方式等信息。
Figure BDA00001818428200091
Figure BDA00001818428200101
表2
此外,为了支持多语言环境,还可以设置多语言表,如表3所示。
  列名   类型   说明
  ID   String   唯一标识
  LangID   String   语言ID
  Title   String   标题
表3
(二)预置数据
根据不同的检查方式来预置数据。其中通过添加配置项、SQL语句或者存储过程这三种方式,引用方不需要写程序代码,而这三种方式,能够满足大多数引用检查的需要。而如果是比较复杂的检查情况,才需要继承服务接口,编码实现检查服务。对于被引用方,只需调用统一的检查服务接口,不用关心具体的引用方,以及引用方采用了哪种方式。下面分别对上述各种方式进行逐一说明:
1)添加配置项,系统自动生成SQL语句
根据数据表中的外键约束,预置数据。这种方式,主要为系统部署或者迁移时,自动将外键约束加入到引用信息表中,支持联表查询,并支持自定义条件。如果某些检查是不必要的,用户可在引用简表中,指定哪些表需要排除,或者提供删除脚本。用户手动配置一些数据项,系统在进行检查时,自动生成SQL语句。
2)预置SQL语句
用户可手动预置数据,将需要检查的查询语句预置进去,支持联表查询,并支持条件。这种方式,比较灵活,能够覆盖大多数情况。用户按照规范,提供检查的SQL语句,具体赋值方式见表2。
3)存储过程
引用方写好存储过程,然后增加一个引用预置数据,指定其检查方式为“存储过程”,并将内容赋值为存储过程名称。
4)实现服务接口,然后预置数据
这种方式的适用性最广,可以解决复杂的验证逻辑,而且扩展性强。通过SQL语句或者存储过程可以实现基于数据库的引用检查。如果检查逻辑很复杂,难以用查询语句、存储过程来实现,或者用户存储数据的介质为文件或者其他,这就需要通过服务的方式来实现。
在这里我们定义了基本的检查服务接口,引用方只需实现这个接口,将检查逻辑放置其中即可。接口定义如下,具体说明如表4所示,流程图如图5所示。
Figure BDA00001818428200111
表4
(三)被引用方调用检查服务
具体地,当被引用方需要进行引用检查时,直接调用引用检查系统中统一的检查服务,则服务自动根据检查方式,检查引用数据。
1)配置项
系统从引用信息表中获取存储的配置项,系统自动根据配置数据生成SQL语句,然后进行检索获得引用数据,具体如图6所示。
2)SQL语句
对于复杂的SQL语句,无法用简单配置项来实现的,则需要通过直接预置SQL语句方式来实现。系统根据引用方预置的SQL语句,来检索引用数据。
3)存储过程
这种方式具体的实现原理类似于SQL语句,只是引用方需要编写具体的存储过程,然后将存储过程名称预置到引用信息表。系统根据其预置的内容,自动执行存储过程,获得引用数据。
4)实现服务检查
引用方需要在引用其它模块时,继承提供的检查接口,实现里面的方法,然后预置数据至引用检查表。系统通过服务检查的流程如图7所示。
此外,如果是存在多个引用方进行引用,其原理如图8所示。这里能够清晰看到,在被引用方进行引用检查时,不会因引用方的数据而改变。
(四)返回检查结果
结果的赋值,是在调用检查服务时,依次检查所有的引用项,将结果综合得出的。
这里有一定的限制逻辑:只要检查结果有一个为False,则总的检查结果为False。由此设计了表决器,原理如图9所示。
1)检查结果采用三态枚举,如表5所示。
  枚举值   含义
  False   有引用,且不能强制修改
  FalseAndDelete   有引用,但可以强制删除
  True   没有引用
表5
2)检查报告
如果有引用,则检查报告需要列出所有的引用方具体的引用数据,及各自的检查结果,具体的结构如表6所示。
表6
(五)后续处理
如果返回结果为True,即未表明发现被其他模块引用,可以继续走自己的逻辑,比如修改、删除等。如果返回结果为FalseAndDelete,即发现有引用,但可以忽略,这时,也可继续走自己的逻辑。如果返回结果为False,则当前逻辑终止,要想修改,用户必须先根据检查报告修改引用数据。
下面结合图10和图11,以单据与部分之间的引用,对本发明的技术方案进行说明其中,图10示出了根据本发明的实施例的单据结构图;图11示出了根据本发明的实施例的单据与部门之间引用关系示意图。
如图所示,在开发中有一些基础数据,这里以部门为例,数据表为:Departments。而单据与部门之间的关系:单据引用部门信息,如图11所示。
在上层数据中有很多单据记录了部门这个属性。在这里我们选择单据——生产订单(MO)来做为例子,其存储的数据表为:MOs。
首先,通过部门管理器,增加生产部门:制造一部(Department_M1)。
然后,创建生产订单MO-101,并指定其生产部门为:制造一部(Department_M1),并将订单信息保存至数据库。具体属性如表7所示。
  字段   值
  ID   MO-101(生产订单号)
  DepartmentID   Department_M1(制造一部)
表7
由表7所示,生产订单:MO-101,引用了生产部门信息:制造一部(Department_M1)。生产订单与部门管理属于不同的模块,各自都有自己的管理器。如果要操作制造一部(Department_M1)信息,在没有引用检查情况下,则当制造一部(Department_M1)修改ID或者删除时,则生产订单(MO-101)中记录的部门信息将没有任何意义,造成歧义或者异常。
我们可以利用检查系统来解决这个问题。为了更好的说明原理,此次检查采用预置SQL的方式。
1)引用方预置数据:
根据表2要求,重要字段赋值如下:
首先,生产订单数据表MOs,引用了部门信息(Departments),建立引用约束。预置的SQL语句为:SELECT MOs.ID FROM MOs WHEREDepartmentID=ID
然后,定义检查类型,TypeName为:Departments_Check
接着,将检查方式赋值为:SQL语句,处理方式:有引用不能强制删除。
最后,将这些信息预置到引用信息表,完成了引用配置功能。
2)被引用方调用检查服务
被引用方只需调用检查服务,需要提供的参数,检查类型和值。提供的参数如下:
检查类型名称:Departments_Check
值:Department_M1(制造一部)
首先,系统根据检查类型名称,检索引用信息表,发现有一条数据,这就是引用方预置的。其检查方式为SQL语句,系统将SQL语句取出,
然后,为SQL语句的参数赋值,这个值就是:Department_M1,
接着,进行数据查询,返回结果:MO-101,这正是之前我们创建的生产订单号。发现有引用数据,系统会将引用的详细信息,写入检查报告。
最后,被引用方根据服务返回结果,发现此部门信息被:MO-101单据引用,且不能强制删除,终止对部门:Department_M1修改或者删除操作,保证了数据的完整性。
通过这个例子,我们了解了引用检查系统的基本原理。如果有更多生产订单,或者其它类型单据,如销售订单、采购订单、发货单等都引用了这个部门的信息,只需各自单据增加预置数据,不需写程序代码,而操作方不关心到底谁引用,有多少地方引用,只需调用检查系统即可得到所有的引用信息。
下面在另一个实施例中,介绍维度查询引用实体元数据的引用检查。
在系统开发过程中,我们常基于元数据进行开发,维度查询基于元数据进行设计开发的,具体原理图如图12所示。
在元数据管理中实体设计器,用于管理实体元数据。
而维度查询中,为了偏于查询和扩展,也有查询实体。查询实体,是由一个或多个实体构成。最简单的情况下只有一个实体。
比如我们通过实体设计器,创建实体:销售订单表头(SO_Head),属性如表8所示。创建实体后,存入实体元数据表:BE_Entities。
  属性   说明
  ID   唯一标识
  Code   编码
表8
然后我们通过查询设计器,定义了查询实体:QE_SO_Head。这样查询实体QE_SO_Head就引用了销售订单表头(SO_Head)的属性——编码(Code)。
Figure BDA00001818428200151
表9
与之前的例子不同是,查询实体的存储介质不是数据表,而是XML文件,这样依靠SQL语句或者存储过程已经无法实现引用检查需求了,对于XML存储的结构,只有维度查询了解,这时就通过本发明中的服务方式来实现了。
具体操作步骤:
引用方——维度查询:
首先,维度查询需要创建单独的检查服务组件,实现通用的检查服务接口。具体结构见表4所示。维度查询,在实现的接口方法中加入具体的检查逻辑。
然后,将相关信息预置到引用信息表。主要字段赋值如表10所示:
Figure BDA00001818428200161
表10
被引用方——实体元数据:
在实体设计器对实体——销售订单表头(SO_Head)进行修改或者删除时,只需调用引用检查系统的检查方法,输入参数:
类型:BE_Entities_Check
值:SO_Head
系统检索引用信息表,发现了一条引用记录,即为引用方预置的数据,根据其类型为Service,其组件和类名称,加载具体的服务组件,调用引用方实现的方法。
最后,得到返回结果为:有引用数据且不能强制删除,引用数据为:QE_SO_Head。
可见,本技术方案基于服务的检查方式,简单灵活,适用于比较复杂的引用检查场景。而且将引用服务独立于模块的具体实现,同现有的硬编码技术相比,大大降低了模块间的耦合。被引用方不需要做任何改动,不需要了解具体调用哪个模块的检查服务,这种方式是对基于SQL语句和存储过程方式检查的很好补充,具有很强的适用性和扩展性。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中采用硬编码技术,检查代码融合在模块中,增加了各模块间的耦合性,不利于规模化、层次化、模块化的发展。还有的使用了字段间的约束检查,单纯是数据值的引用检查,对于复杂逻辑的检查,有一定的局限性。因此,本发明提供了一种引用检查系统和一种引用检查方法,有以下几个优点:
1)通过简单配置项、SQL语句或存储过程,可以覆盖大多数引用检查情况,引用方只需简单配置即可,不用写任何的代码逻辑。
2)提供了服务接口,是对SQL语句或存储过程检查的有效补充,针对复杂逻辑或非数据库存储介质,可采用这种方式。适用性更广,而且具有可扩展性。
3)检查报告采用Xml文档形式,便于扩展,而且支持多种平台。
4)检查的具体逻辑独立于模块之外,降低了模块之间耦合。
5)便于进行分模块、分层次、大规模开发。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种引用检查系统,其特征在于,包括:
数据生成单元,用于引用方生成对应于引用关系的引用查询数据;
数据存储单元,用于所述引用方将所述引用查询数据存储至所述引用检查系统预设的引用信息表中;
数据获取单元,用于被引用方在进行引用检查时,获取所述引用信息表中存储的所述引用查询数据;
处理单元,所述被引用方根据所述引用查询数据获得对应的引用数据。
2.根据权利要求1所述的引用检查系统,其特征在于,
所述数据生成单元生成的所述引用查询数据包括:配置数据、预置SQL语句或存储过程;
所述处理单元用于:根据所述配置数据生成并执行对应的SQL语句、执行所述预置SQL语句或执行所述存储过程,以获得所述引用数据。
3.根据权利要求1所述的引用检查系统,其特征在于,所述数据生成单元生成的所述引用查询数据包括:服务组件;
所述处理单元用于:根据所述引用检查系统提供的接口建立对应的服务组件,以实现查询服务,从而获得所述引用数据。
4.根据权利要求1至3中任一项所述的引用检查系统,其特征在于,还包括:
逻辑设置单元,用于预设检查结果逻辑;
结果展示单元,用于展示每个检查到的引用数据的检查结果和/或总的检查结果。
5.根据权利要求1至3中任一项所述的引用检查系统,其特征在于,还包括:
关系获取单元,用于通过设置引用简表,以自动获取所述引用方和所述被引用方之间的引用关系。
6.一种引用检查方法,其特征在于,包括:
步骤202,引用方生成对应于引用关系的引用查询数据,并存储至预设的引用信息表中;
步骤204,被引用方在进行引用检查时,获取所述引用信息表中存储的所述引用查询数据,利用所述引用查询数据进行查询操作以获得对应的引用数据。
7.根据权利要求6所述的引用检查方法,其特征在于,
所述引用查询数据包括:配置数据、预置SQL语句或存储过程,在所述步骤204包括:
所述被引用方在进行引用检查时,根据所述配置数据生成并执行对应的SQL语句、执行所述预置SQL语句或执行所述存储过程,以获得所述引用数据。
8.根据权利要求6所述的引用检查方法,其特征在于,所述引用查询数据包括:服务组件,则所述步骤204包括:
所述被引用方在进行引用检查时,根据预设的接口建立对应的服务组件,以实现对应的查询服务,从而获得所述引用数据。
9.根据权利要求6至8中任一项所述的引用检查方法,其特征在于,在实现所述查询服务时,还包括:
预设检查结果逻辑;
展示每个检查到的引用数据的检查结果和/或总的检查结果。
10.根据权利要求6至8中任一项所述的引用检查方法,其特征在于,还包括:
设置引用简表,以自动获取所述引用方和所述被引用方之间的引用关系。
CN201210218384.5A 2012-06-27 2012-06-27 引用检查系统和引用检查方法 Active CN102779092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210218384.5A CN102779092B (zh) 2012-06-27 2012-06-27 引用检查系统和引用检查方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210218384.5A CN102779092B (zh) 2012-06-27 2012-06-27 引用检查系统和引用检查方法

Publications (2)

Publication Number Publication Date
CN102779092A true CN102779092A (zh) 2012-11-14
CN102779092B CN102779092B (zh) 2016-03-30

Family

ID=47124010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210218384.5A Active CN102779092B (zh) 2012-06-27 2012-06-27 引用检查系统和引用检查方法

Country Status (1)

Country Link
CN (1) CN102779092B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104966021A (zh) * 2015-05-21 2015-10-07 浪潮电子信息产业股份有限公司 一种安全基线数据文件的建立和解析方法及装置
CN105740283A (zh) * 2014-12-11 2016-07-06 华为软件技术有限公司 引用信息搜索方法及装置
CN112667690A (zh) * 2021-01-29 2021-04-16 浪潮通用软件有限公司 数据引用查询方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044089A1 (en) * 2003-08-21 2005-02-24 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
CN101067820A (zh) * 2007-06-08 2007-11-07 北京大学 预取对象的方法
CN101727484A (zh) * 2009-12-31 2010-06-09 金蝶软件(中国)有限公司 检测执行操作表与拟检测表引用同一属性值的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044089A1 (en) * 2003-08-21 2005-02-24 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
CN101067820A (zh) * 2007-06-08 2007-11-07 北京大学 预取对象的方法
CN101727484A (zh) * 2009-12-31 2010-06-09 金蝶软件(中国)有限公司 检测执行操作表与拟检测表引用同一属性值的方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740283A (zh) * 2014-12-11 2016-07-06 华为软件技术有限公司 引用信息搜索方法及装置
CN105740283B (zh) * 2014-12-11 2019-05-03 华为软件技术有限公司 引用信息搜索方法及装置
CN104966021A (zh) * 2015-05-21 2015-10-07 浪潮电子信息产业股份有限公司 一种安全基线数据文件的建立和解析方法及装置
CN112667690A (zh) * 2021-01-29 2021-04-16 浪潮通用软件有限公司 数据引用查询方法和装置
CN112667690B (zh) * 2021-01-29 2023-07-18 浪潮通用软件有限公司 数据引用查询方法和装置

Also Published As

Publication number Publication date
CN102779092B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
US20210117437A1 (en) Data model transformation
JP6165149B2 (ja) スプレッドシートのデータについての報告のための自動的な関連の検出
CN103226478B (zh) 一种自动生成并使用代码的方法
CN101937463B (zh) 一种用于工作流模型的表单自动生成方法
CN102270225B (zh) 数据变更日志监控方法和数据变更日志监控装置
CN102567451B (zh) 产生数据模型
US20070074155A1 (en) Apparatus and method for data profile based construction of an extraction, transform, load (etl) task
US8886591B2 (en) Adaptive data model and warehouse palette
US7743071B2 (en) Efficient data handling representations
CN107145480B (zh) 一种基于Word进行XBRL报告编制的方法
US7809748B2 (en) Extended cell information in multidimensional data models
CN102426582B (zh) 数据操作管理装置和数据操作管理方法
CN102141992B (zh) 多维数据库存储及查询的方法
US9740713B1 (en) Dynamic modeling of data in relational databases
US20080208874A1 (en) Handling multi-dimensional data including writeback data
JP2006172446A (ja) 複合データアクセス
CN102222278A (zh) 一种运维流程定制的方法及装置
CN106021207A (zh) 专利撰写系统及其方法
CN102508862A (zh) 数据扩展装置和数据扩展方法
EP3042354B1 (en) Metadata automated system
CN102779092A (zh) 引用检查系统和引用检查方法
US7325003B2 (en) Method and system for mapping datasources in a metadata model
CN102426680A (zh) 使用求散列的逻辑帐户表
Sun et al. Control mechanism for information sharing in an integrated construction environment
US20190172068A1 (en) Method and system for implementing a crm quote and order capture context service

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160202

Address after: 100094 Beijing City, North Road, Haidian District, No. 68, building 2, floor 2

Applicant after: You Pu Information Technology Co., Ltd of UFSOFT

Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park

Applicant before: UFIDA Software Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant