CN108073712B - 信息***中的主数据删除方法、装置和计算机设备 - Google Patents
信息***中的主数据删除方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN108073712B CN108073712B CN201711404896.XA CN201711404896A CN108073712B CN 108073712 B CN108073712 B CN 108073712B CN 201711404896 A CN201711404896 A CN 201711404896A CN 108073712 B CN108073712 B CN 108073712B
- Authority
- CN
- China
- Prior art keywords
- main data
- reference count
- field
- count
- data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种信息***中的主数据删除方法,包括:获取待删除主数据和对应的主数据标识;根据所述主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数;将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名;判断所述引用表是否引用所述待删除主数据;若否,则删除所述最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到所述引用计数全被删除,则删除所述待删除主数据,实现了根据引用计数的大小依次去判断最大引用计数对应的引用表是否引用主数据,使主数据删除时能够提高效率且性能稳定。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种信息***中的主数据删除方法、装置、计算机设备和存储介质。
背景技术
现有的信息***中删除主数据时,为了保证数据的一致性,需要判断业务数据与主数据之间的引用关系,如果该主数据没有被业务数据所引用,才能删除该主数据。其中,主数据是指在整个企业范围内各个***之间共享的数据(例如,客户、供应商、账户和组织部门相关数据)。一般的判断业务数据与主数据引用关系的手段主要有两个:一是利用数据库的外键关系去确定引用关系,该方法在复杂业务***中建立大量的外键关系,增加的存储空间,会导致***性能降低;二是基于引用关系来检查是否被引用,基本方法是基于表的关系,建立引用关系表,引用检查时,循环所有的引用表,逐个表判断。该方法引用检查时间复杂度非常不稳定,最好的情况是检查1次,最差的情况为N次,就是需要检查所有的应用关系表,非常随机,导致性能比较差且不稳定,效率比较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高效率且性能稳定的信息***中的主数据删除方法、装置、计算机设备和存储介质。
一种信息***中的主数据删除方法,包括:
获取待删除主数据和对应的主数据标识;
根据主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数;
将引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名;
判断引用表是否引用待删除主数据;
若否,则删除最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到引用计数全被删除,则删除待删除主数据。
在其中一个实施例中,在判断引用表是否引用主数据之后,还包括:
若引用表引用待删除主数据,则提示待删除主数据无法删除。
在其中一个实施例中,判断引用表是否引用待删除主数据,包括:
判断引用表中对应引用字段名中的数据中是否存在最大引用计数对应的主数据标识,若存在主数据标识,则引用表引用待删除主数据,否则,若没有存在主数据标识,则引用表没有引用待删除主数据。
在其中一个实施例中,该方法还包括:
建立预设引用计数表,预设引用计数表中记录了主数据标识、引用表表名、引用字段名和引用计数的对应关系。
在其中一个实施例中,建立预设引用计数表,包括:
建立引用计数表的属性字段,属性字段包括主数据标识字段、引用表名字段、引用字段名字段和引用计数字段;
获取业务数据,获取业务数据的主数据标识;
当业务数据写入到信息***中的数据表时,获取数据表中写入主数据标识的字段;
记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。
在其中一个实施例中,记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表,包括:
对写入主数据标识的字段建立引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数;
每次引用计数器增加计数得到引用计数后则将主数据标识、数据表的表名、写入主数据标识的字段名和与写入主数据标识的字段对应的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。
在其中一个实施例中,记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表,包括:
对写入主数据标识的字段建立引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数,将业务数据对应的引用计数进行累加,得到引用计数总值,将引用计数总值保存到redis中;
将主数据标识、数据表的表名、写入主数据标识的字段名和redis中保存的与写入主数据标识的字段对应的引用计数总值写入到引用计数表对应的属性字段中,生成预设引用计数表。
一种信息***中的主数据删除装置,包括
主数据获取模块,用于获取待删除主数据和对应的主数据标识;
查找模块,用于根据主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数;
引用信息获取模块,用于将引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名;
判断模块,用于判断引用表是否引用待删除主数据;
删除模块,用于若否,则删除最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到引用计数全被删除,则删除待删除主数据。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一项信息***中的主数据删除方法中的步骤。
一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项信息***中的主数据删除方法中的步骤
上述信息***中的主数据删除方法、装置、计算机设备和存储介质,通过获取要删除的主数据和对应的主数据标识,根据主数据标识从预设引用计数表中查找对应主数据的引用表的表名、引用字段名和引用计数。将引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名,判断引用表是否引用待删除主数据。若否,则删除最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到引用计数全被删除,则删除待删除主数据。实现了根据引用计数的大小依次去判断最大引用计数对应的引用表是否引用主数据,减少了随机检查的偶然性,使得在主数据删除时能够提高效率且性能的稳定性。
附图说明
图1为一个实施例中信息***中的主数据删除方法的应用场景图;
图2为一个实施例中信息***中的主数据删除方法的流程示意图;
图3为一个实施例中建立预设引用计数表的流程示意图;
图3-a为一个实施例中建立的预设引用计数表和引用表的对照示意图;
图4为一个实施例中生成预设引用计数表的流程示意图;
图5为另一个实施例中生成预设引用计数表的流程示意图;
图6为一个实施例中信息***中的主数据删除装置的结构框图
图7为一个实施例中计数表建立模块的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供一种信息***中的主数据删除方法的具体应用场景图,包括服务器102和终端104。服务器102与终端104网络连接。终端104用于接收删除主数据的命令,然后向服务器102发送待删除的主数据。服务器102获取待删除主数据和对应的主数据标识,根据主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数。将引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名。判断引用表是否引用待删除主数据,若否,则删除最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到引用计数全被删除,则删除待删除主数据。
如图2所示,在一个实施例中,提供一种信息***中的主数据删除方法的流程示意图。该方法应用于图1中的服务器102,包括以下步骤:
S202,获取待删除主数据和对应的主数据标识。
每一个主数据都有其对应的主数据标识,当用户要删除主数据时,获取到待删除的主数据和对应的主数据标识。
S204,根据主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数。
根据主数据标识从预先设置好的引用计数表中查找到引用主数据的引用表的表名、引用表中存放主数据标识的引用字段名和引用计数。引用计数表是记录引用表与主数据之间的引用关系的数据表。引用计数表中记录了主数据的标识、引用主数据标识对应的主数据的引用表的表名、引用表中具体那个字段引用的主数据和引用计数。其中,引用表是指存储在信息***中主数据有引用关系的数据表。引用计数是指在业务数据保存到信息***数据表时中时,主数据标识的主数据被引用的次数。
S206,将引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名。
由于主数据会在不同的表中被引用,会查找到多个引用计数,采用排序算法将查找到的引用计数进行排序,排序算法可以使用冒泡排序、选择排序、***排序、归并排序、堆排序和快速排序等。
根据排序结果在预设引用计数表中找到最大的引用计数对应的引用表和引用字段名。其中,最大的引用计数对应的主数据标识的主数据是最有可能被引用表实际所引用,所以直接获取最大的引用计数对应的引用表和引用字段名,方便后续的处理,提高主数据删除的处理效率。
S208,判断引用表是否引用待删除主数据。
具体的,判断引用表是否引用待删除的主数据,有可能引用表中的与主数据有引用关系的数据已被删除,即记录了引用次数,但是实际上主数据没有被引用,若引用了待删除主数据,则说明该主数据被最大的引用计数对应的引用表所引用,则直接执行步骤S208A。若没有引用待删除主数据,则需要判断排序结果中除最大的引用计数以外的最大的引用计数对应的引用表是否引用了待删除的主数据,则需要执行步骤S208a。
S208A,提示待删除主数据无法删除。
具体的,大部分情况下,一个主数据建立并使用一段时间之后,都是无法删除的。只要引用表引用待删除主数据,就提示用户该主数据有被引用无法删除。一般情况下,经过一次的判断,就可以判断出引用表是否引用待删除主数据,即是否能够删除待删除主数据。一般都是有引用的,即无法删除。就结束了主数据删除的处理流程,不再在别的引用表中进行判断是否引用待删除的主数据,提高了效率和性能的稳定性。
S208a,删除最大的引用计数。
若判断出引用表没有引用待删除主数据,则删除该引用计数,进行数据修正,下次进行删除该主数据时就不会进行重复判断。
S208b,判断引用计数是否全被删除。
具体的,每个主数据一般都会被多个引用表引用,当所有引用表中实际都没有引用该主数据时,才能删除该主数据,即判断引用计数是否全被删除,若全被删除,则执行步骤S208c,否则,即判断引用计数没有全被删除,则根据排序结果继续判断剩余的引用计数中最大的引用计数对应的引用表是否引用主数据。则返回步骤S206继续执行。
S208c,删除待删除主数据。
只有当主数据实际在所有的引用表中都没有被引用,才能删除待删除主数据。一般情况下主数据在信息***中建立并使用一段时间之后都是无法删除的,判断是否能删除待删除主数据只需要进行一次引用表是否引用待删除主数据的判断就可以确定待删除主数据是不能删除的。
在一个实施例中,若一个主数据刚刚建立,用户又想删除该主数据。此时,预设引用计数表中还没有该主数据的引用计数,即预设引用计数表查找不到该主数据对应的主数据标识,则可以马上删除该主数据,解决了主数据新增即删除时,需要检查所有的引用关系表进行判断的问题,提高了效率和性能的稳定行。
在上述实施例中,通过获取要删除的主数据和对应的主数据标识,根据主数据标识从预设引用计数表中查找对应主数据的引用表的表名、引用字段名和引用计数。将引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名,判断引用表是否引用待删除主数据。若否,则删除最大的引用计数,并返回步骤S206,直到引用计数全被删除,则删除待删除主数据。若是,则提示待删除主数据无法删除。实现了根据引用计数的大小依次去判断最大引用计数对应的引用表是否引用主数据,减少了随机检查的偶然性,使得在主数据删除时能够提高且性能的稳定性。
在一个实施例中,判断引用表是否引用待删除主数据,包括:判断引用表中对应引用字段名中的数据中是否存在最大引用计数对应的主数据标识,若存在主数据标识,则引用表引用待删除主数据,否则,若没有存在主数据标识,则引用表没有引用待删除主数据。
如果引用表中要引用主数据,就会有一个字段存放主数据对应的主数据标识,即判断引用表中对应引用字段名中的数据中是否存在最大引用计数对应的主数据标识若存在主数据标识,则引用表引用待删除主数据,否则,若没有存在主数据标识,则引用表没有引用待删除主数据。
在一个实施例中,信息***中的主数据删除方法还包括:建立预设引用计数表,预设引用计数表中记录了主数据标识、引用表表名、引用字段名和引用计数的对应关系。
在信息***中,建立预先设置的引用计数表,预设引用计数表中记录了主数据标识、引用表表名、引用字段名和引用计数的对应关系,当业务数据保存到信息***中时,在预设引用计数表中写入该业务数据对应的主数据标识、引用表表名、引用字段名和引用计数。
如图3所示,在一个实施例中,建立预设引用计数表,包括:
S302,建立引用计数表的属性字段,属性字段包括主数据标识字段、引用表名字段、引用字段名字段和引用计数字段。
在信息***中建立引用计数表,该引用计数表的属性字段包括主数据标识字段、引用表名字段、引用字段名字段和引用计数字段。其中,属性字段是指该引用计数表在建立时所需要的对象
S304,获取业务数据,获取业务数据的主数据标识。
获取业务数据,其中业务数据是指具体发生业务的数据,随着时间迁移,数据量越来越多。根据业务数据获取业务对象的主数据标识。即通过分析业务对象中的每个属性值,确定与主数据的引用关系,得到主数据对应的主数据标识。例如,获取到采购物料的业务数据,获取到物料的业务数据的主数据标识为ABC。则物料的相关属性,物料的大小,规格,颜色,数量,价格。。。。等等,都是物料ABC的主数据。生成一条业务数据,生成一张采购订单时,需要获得不同的主数据,采购物料的大小、颜色、数量、价格;以及供应商的编号、信用度和采购后存放的仓库号等这条数据就是一条业务数据。
S306,当业务数据写入到信息***中的数据表时,获取数据表中写入主数据标识的字段。
当业务数据写入到信息***中的数据表时,获取到数据表中写入主数据标识的字段。例如,当要把采购物料的业务数据写入到信息***中的采购订单表中时,得到写入物料ABC的字段为物料字段。
S308,记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。
记录写入主数据标识的字段的引用计数,将业务数据的主数据标识、要写入的数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。如图3-a所示,当在采购订单表中要写入物料ABC的业务数据,得到在采购订单表中写入主数据标识ABC的字段为物料这个字段,然后在引用计数表的主数据标识字段中写入ABC,在引用表名中写入采购订单表,在引用字段名中写入物料,然后写入引用计数为1000次,得到预设的引用计数表。
在上述实施例中,通过建立引用计数表的属性字段,获取业务数据,获取业务数据的主数据标识,获取数据表中写入主数据标识的字段,最终记录写入主数据标识的字段的引用计数,将将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。通过建立预设引用计数表,实现了在主数据删除时根据预设引用计数表中的引用计数来进行判断是否可以删除主数据,提高了主数据删除时的效率和性能的稳定性。
如图4所示,在一个实施例中,记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表,包括:
S402,对写入主数据标识的字段建立引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数。
具体的,每个主数据会有建立多个引用计数器,即在不同的表中,写入主数据标识的字段不同,给每个对应的字段都建立一个引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数,即在业务数据写入到信息***时,都会引用主数据,每次引用都会将计数器加1,得到引用计数。
S404,每次引用计数器增加计数得到引用计数后则将主数据标识、数据表的表名、写入主数据标识的字段名和与写入主数据标识的字段对应的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。
将每次业务数据写入到信息***中的数据表之后得到的引用计数、主数据标识、数据表的表名和写入主数据标识的字段名写入到引用计数表对应的属性字段中,生成预设引用计数表。
在上述实施例中,通过对写入主数据标识的字段建立引用计数器,每次业务数据写入数据表时,引用计数器增加计数,得到引用计数,最后将得到的引用计数、主数据标识、数据表的表名和写入主数据标识的字段名写入到引用计数表对应的属性字段中,生成预设引用计数表,实现了预先建立引用计数表,使在主数据删除时能够直接使用引用计数表,提高了主数据删除时的效率。
如图5所示,在一个实施例中,记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表,包括:
S502,对写入主数据标识的字段建立引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数,将业务数据对应的引用计数进行累加,得到引用计数总值,将引用计数总值保存到redis中。
具体的,对写入主数据标识的字段建立引用计数器,当多个用户要将业务数据写入到信息***中的数据表时,对每个用户将业务数据写入到信息***中的数据表时,引用计数器增加计数,得到每个用户要写入的业务数据对应的引用计数,将所有的引用计数进行累加,得到该业务数据的引用计数总值,将引用计数总值保存到redis中,其中,redis是一个开源的,内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。
S504,将主数据标识、数据表的表名、写入主数据标识的字段名和redis中保存的与写入主数据标识的字段对应的引用计数总值写入到引用计数表对应的属性字段中,生成预设引用计数表。
具体的,然后将主数据标识、数据表的表名、写入主数据标识的字段名和redis中保存的与写入主数据标识的字段对应的引用计数总值定时写入到引用计数表对应的属性字段中,生成预设引用计数表。
在上述实施例中,通过将业务数据对应的引用计数进行累加,得到引用计数总值,将引用计数总值保存到redis中,然后将主数据标识、数据表的表名、写入主数据标识的字段名和redis中保存的与写入主数据标识的字段对应的引用计数总值写入到引用计数表对应的属性字段中,生成预设引用计数表。通过先将得到的引用计数保存到redis中,然后再将redis中保存引用计数总值写入到预设引用计数表中,提高了性能的稳定性。
在一个实施例中,在生成预设引用计数表之后,还有业务数据要写入信息***的数据表中时,获取业务数据中主数据的标识和数据表中写入主数据的标识的字段,记录写入主数据标识的字段的新的引用计数。获取引用计数表中主数据的标识对应的引用计数,将引用计数表中的引用计数和记录的新的引用计数进行累加,得到总的引用计数,然后将总的引用计数写入到引用计数表中主数据标识对应的引用计数字段中,实现了引用计数的更新,使得在主数据删除时得到的引用计数能够更加的准确。
如图6所示,在一个实施例中,一种信息***中的主数据删除装置,包括主数据获取模块602、找模块604、引用信息获取模块606、判断模块608和删除模块610,其中:
主数据获取模块602,用于获取待删除主数据和对应的主数据标识。
查找模块604,用于根据主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数。
引用信息获取模块606,用于将引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名。
判断模块608,用于判断引用表是否引用待删除主数据。
删除模块610,用于若否,则删除最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到引用计数全被删除,则删除待删除主数据。
在上述实施例中,通过主数据获取模块602获取到待删除的主数据和对应的主数据标识,在查找模块604中根据主数据标识从预设引用计数表中查找到对应的引用表的表名、引用字段名和引用计数。在引用信息获取模块606获取到最大引用计数对应的引用表和引用字段,在判断模块608中判断引用表是否引用待删除主数据,在删除模块610中进行待删除主数据的删除,保证了在主数据删除过程中能提高效率和性能的稳定性。
在一个实施例中,一种信息***中的主数据删除装置,还包括:
无法删除模块,用于若引用表引用待删除主数据,则提示待删除主数据无法删除。
在一个实施例中,判断模块608,包括:
标识判断模块,用于判断引用表中对应引用字段名中的数据中是否存在最大引用计数对应的主数据标识,若存在主数据标识,则引用表引用待删除主数据,否则,若没有存在主数据标识,则引用表没有引用待删除主数据。
在一个实施例中,一种信息***中的主数据删除装置,还包括:
计数表建立模块,用于建立预设引用计数表,预设引用计数表中记录了主数据标识、引用表表名、引用字段名和引用计数的对应关系。
如图7所示,在一个实施例中,计数表建立模块,包括:
字段建立模块702,用于建立引用计数表的属性字段,属性字段包括主数据标识字段、引用表名字段、引用字段名字段和引用计数字段。
标识获取模块704,用于获取业务数据,获取业务数据的主数据标识。
写入字段获取模块706,用于当业务数据写入到信息***中的数据表时,获取数据表中写入主数据标识的字段。
计数表生成模块708,用于记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。
在一个实施例中,计数表生成模块,包括:
计数器建立模块,用于对写入主数据标识的字段建立引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数。
写入模块,用于每次引用计数器增加计数得到引用计数后则将主数据标识、数据表的表名、写入主数据标识的字段名和与写入主数据标识的字段对应的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。
在一个实施例中,计数表生成模块,包括:
计数保存模块,用于对写入主数据标识的字段建立引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数,将业务数据对应的引用计数进行累加,得到引用计数总值,将引用计数总值保存到redis中。
属性字段写入模块,用于将主数据标识、数据表的表名、写入主数据标识的字段名和redis中保存的与写入主数据标识的字段对应的引用计数总值写入到引用计数表对应的属性字段中,生成预设引用计数表。
如图8所示,在一个实施例中,提供了一种计算机设备,包括通过***总线连接的处理器、存储器、存储介质、网络接口。存储器包括内存储器和非易失性存储介质,该计算机设备的非易失性存储介质中存储有操作***和一种信息***中的主数据删除装置的计算机程序,该信息***中的主数据删除装置的计算机程序用于实现一种信息***中的主数据删除方法。该计算机设备的处理器用于提供计算和控制能力,被配置为执行一种信息***中的主数据删除方法。该计算机设备中的内存储器为非易失性存储介质中的计算机程序的运行提供环境。该计算机设备中的网路接口用于获取待删除的主数据和对应的主数据标识等。该计算机设备可以是台式计算机,也可以是如智能手机、平板电脑或者个人数字助理等的移动终端。本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述信息***中的主数据删除方法的步骤:获取待删除主数据和对应的主数据标识;根据主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数;将引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名;判断引用表是否引用待删除主数据;若否,则删除最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到引用计数全被删除,则删除待删除主数据。
在一个实施例中,在判断引用表是否引用主数据之后,还包括:若引用表引用待删除主数据,则提示待删除主数据无法删除。
在一个实施例中,判断引用表是否引用待删除主数据,包括:判断引用表中对应引用字段名中的数据中是否存在最大引用计数对应的主数据标识,若存在主数据标识,则引用表引用待删除主数据,否则,若没有存在主数据标识,则引用表没有引用待删除主数据。
在一个实施例中,该方法还包括:建立预设引用计数表,预设引用计数表中记录了主数据标识、引用表表名、引用字段名和引用计数的对应关系。
在一个实施例中,建立预设引用计数表,包括:建立引用计数表的属性字段,属性字段包括主数据标识字段、引用表名字段、引用字段名字段和引用计数字段;获取业务数据,获取业务数据的主数据标识;当业务数据写入到信息***中的数据表时,获取数据表中写入主数据标识的字段;记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。
在一个实施例中,记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表,包括:对写入主数据标识的字段建立引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数;每次引用计数器增加计数得到引用计数后则将主数据标识、数据表的表名、写入主数据标识的字段名和与写入主数据标识的字段对应的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表。
在一个实施例中,记录写入主数据标识的字段的引用计数,将主数据标识、数据表的表名、写入主数据标识的字段名和记录的引用计数写入到引用计数表对应的属性字段中,生成预设引用计数表,包括:对写入主数据标识的字段建立引用计数器,当业务数据写入到信息***中的数据表之后,引用计数器增加计数,得到引用计数,将业务数据对应的引用计数进行累加,得到引用计数总值,将引用计数总值保存到redis中;将主数据标识、数据表的表名、写入主数据标识的字段名和redis中保存的与写入主数据标识的字段对应的引用计数总值写入到引用计数表对应的属性字段中,生成预设引用计数表。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机***的非易失性存储介质中,并被该计算机***中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种信息***中的主数据删除方法,其特征在于,包括:
获取待删除主数据和对应的主数据标识;
根据所述主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数,所述引用计数是指所述主数据标识对应的主数据被引用的次数;
将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名;
判断所述引用表是否引用所述待删除主数据;
若否,则删除所述最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到所述引用计数全被删除,则删除所述待删除主数据。
2.根据权利要求1所述的方法,其特征在于,在判断所述引用表是否引用所述主数据之后,还包括:
若所述引用表引用所述待删除主数据,则提示所述待删除主数据无法删除。
3.根据权利要求1所述的方法,其特征在于,判断所述引用表是否引用所述待删除主数据,包括:
判断所述引用表中对应所述引用字段名中的数据中是否存在所述最大引用计数对应的主数据标识,若存在所述主数据标识,则所述引用表引用所述待删除主数据,否则,若没有存在所述主数据标识,则所述引用表没有引用所述待删除主数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立所述预设引用计数表,所述预设引用计数表中记录了主数据标识、引用表表名、引用字段名和引用计数的对应关系。
5.根据权利要求4所述的方法,其特征在于,所述建立所述预设引用计数表,包括:
建立引用计数表的属性字段,所述属性字段包括主数据标识字段、引用表名字段、引用字段名字段和引用计数字段;
获取业务数据,获取所述业务数据的主数据标识;
当所述业务数据写入到信息***中的数据表时,获取所述数据表中写入所述主数据标识的字段;
记录所述写入主数据标识的字段的引用计数,将所述主数据标识、所述数据表的表名、所述写入主数据标识的字段名和记录的引用计数写入到所述引用计数表对应的属性字段中,生成所述预设引用计数表。
6.根据权利要求5所述的方法,其特征在于,所述记录所述写入主数据标识的字段的引用计数,将所述主数据标识、所述数据表的表名、所述写入主数据标识的字段名和记录的引用计数写入到所述引用计数表对应的属性字段中,生成所述预设引用计数表,包括:
对所述写入主数据标识的字段建立引用计数器,当所述业务数据写入到信息***中的数据表之后,所述引用计数器增加计数,得到引用计数;
每次引用计数器增加计数得到引用计数后则将所述主数据标识、所述数据表的表名、所述写入主数据标识的字段名和与写入主数据标识的字段对应的引用计数写入到所述引用计数表对应的属性字段中,生成所述预设引用计数表。
7.根据权利要求5所述的方法,其特征在于,所述记录所述写入主数据标识的字段的引用计数,将所述主数据标识、所述数据表的表名、所述写入主数据标识的字段名和记录的引用计数写入到所述引用计数表对应的属性字段中,生成所述预设引用计数表,包括:
对所述写入主数据标识的字段建立引用计数器,当所述业务数据写入到信息***中的数据表之后,所述引用计数器增加计数,得到引用计数,将业务数据对应的引用计数进行累加,得到引用计数总值,将所述引用计数总值保存到redis中;
将所述主数据标识、所述数据表的表名、所述写入主数据标识的字段名和redis中保存的与写入主数据标识的字段对应的引用计数总值写入到所述引用计数表对应的属性字段中,生成所述预设引用计数表。
8.一种信息***中的主数据删除装置,其特征在于,包括
主数据获取模块,用于获取待删除主数据和对应的主数据标识;
查找模块,用于根据所述主数据标识从预设引用计数表中查找对应的引用表的表名、引用字段名和引用计数,所述引用计数是指所述主数据标识对应的主数据被引用的次数;
引用信息获取模块,用于将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名;
判断模块,用于判断所述引用表是否引用所述待删除主数据;
删除模块,用于若否,则删除所述最大的引用计数,并返回将所述引用计数进行排序,获取排序结果中最大的引用计数对应的引用表和引用字段名的步骤,直到所述引用计数全被删除,则删除所述待删除主数据。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述信息***中的主数据删除方法中的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述信息***中的主数据删除方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711404896.XA CN108073712B (zh) | 2017-12-22 | 2017-12-22 | 信息***中的主数据删除方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711404896.XA CN108073712B (zh) | 2017-12-22 | 2017-12-22 | 信息***中的主数据删除方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073712A CN108073712A (zh) | 2018-05-25 |
CN108073712B true CN108073712B (zh) | 2020-08-18 |
Family
ID=62155420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711404896.XA Active CN108073712B (zh) | 2017-12-22 | 2017-12-22 | 信息***中的主数据删除方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073712B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667690B (zh) * | 2021-01-29 | 2023-07-18 | 浪潮通用软件有限公司 | 数据引用查询方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430707A (zh) * | 2008-11-03 | 2009-05-13 | 金蝶软件(中国)有限公司 | 一种记录删除操作的验证方法、***及设备 |
CN102710381A (zh) * | 2012-06-07 | 2012-10-03 | 飞天诚信科技股份有限公司 | 一种处理传输数据的方法和装置 |
CN103379099A (zh) * | 2012-04-19 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 恶意攻击识别方法及*** |
CN104123318A (zh) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 一种地图显示兴趣点的方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003551B2 (en) * | 2000-11-30 | 2006-02-21 | Bellsouth Intellectual Property Corp. | Method and apparatus for minimizing storage of common attachment files in an e-mail communications server |
-
2017
- 2017-12-22 CN CN201711404896.XA patent/CN108073712B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430707A (zh) * | 2008-11-03 | 2009-05-13 | 金蝶软件(中国)有限公司 | 一种记录删除操作的验证方法、***及设备 |
CN103379099A (zh) * | 2012-04-19 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 恶意攻击识别方法及*** |
CN102710381A (zh) * | 2012-06-07 | 2012-10-03 | 飞天诚信科技股份有限公司 | 一种处理传输数据的方法和装置 |
CN104123318A (zh) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 一种地图显示兴趣点的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108073712A (zh) | 2018-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108089893B (zh) | 冗余资源的确定方法、装置、终端设备与存储介质 | |
CN107451831B (zh) | 任务推送方法、装置及存储介质 | |
WO2016197814A1 (zh) | 垃圾文件识别及管理方法、识别装置、管理装置和终端 | |
CN110737604A (zh) | 一种自动清理内存的方法、装置、电子设备及存储介质 | |
CN110766521A (zh) | 采购订单生成方法、装置、***和存储介质 | |
CN105574163A (zh) | 一种文件处理方法、装置及电子设备 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
US20140320498A1 (en) | Terminal device, information processing method, and computer program product | |
CN108073712B (zh) | 信息***中的主数据删除方法、装置和计算机设备 | |
CN114490060A (zh) | 内存分配方法、装置、计算机设备和计算机可读存储介质 | |
CN108132759B (zh) | 一种文件***中管理数据的方法和装置 | |
CN117390011A (zh) | 报表数据处理方法、装置、计算机设备和存储介质 | |
CN112052259A (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN112258244A (zh) | 确定目标物品所属任务的方法、装置、设备及存储介质 | |
CN109101191B (zh) | 数据存储方法、装置和存储介质以及电子设备 | |
WO2018177414A1 (zh) | 数据处理方法及数据处理装置、计算设备及存储介质 | |
CN115576947A (zh) | 一种数据管理方法、装置、组合库、电子设备及存储介质 | |
CN115729687A (zh) | 任务调度方法、装置、计算机设备、存储介质 | |
CN110929207B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN112463741A (zh) | 一种聚合大文件的清理方法及相关设备 | |
CN108989245B (zh) | 用户数据存储方法及装置 | |
CN104360793A (zh) | 一种终端桌面编辑的方法及*** | |
CN113177157B (zh) | 标签分离方法、装置、设备及存储介质 | |
CN112948376B (zh) | 一种ip地理位置信息查询方法、终端设备及存储介质 | |
CN113641911B (zh) | 广告拦截规则库的建立方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |