CN107844600A - 一种数据存储方法和装置 - Google Patents
一种数据存储方法和装置 Download PDFInfo
- Publication number
- CN107844600A CN107844600A CN201711182701.1A CN201711182701A CN107844600A CN 107844600 A CN107844600 A CN 107844600A CN 201711182701 A CN201711182701 A CN 201711182701A CN 107844600 A CN107844600 A CN 107844600A
- Authority
- CN
- China
- Prior art keywords
- entity
- attribute
- relation
- current
- stored
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013500 data storage Methods 0.000 title claims abstract description 26
- 238000003860 storage Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 27
- 238000012423 maintenance Methods 0.000 abstract description 14
- 230000008859 change Effects 0.000 description 20
- 238000013499 data model Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- 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/22—Indexing; Data structures therefor; Storage structures
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据存储方法和装置,数据存储方法包括:预先创建实体定义模型、实体属性模型、关联实体模型和关系定义模型;获取至少一条待存储数据;针对于每一条所述待存储数据,均执行:确定当前待存储数据包括的至少一个实体;为每一个所述实体设置实体标识符;将所述至少一个实体的各条实体属性和所述实体标识符分别存储到所述实体定义模型和所述实体属性模型中;根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,并将所述至少一个实体关系数据存储到所述关联实体模型中。本发明提供的技术方案能够提高运维人员对存储数据的运维效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据存储方法和装置。
背景技术
在计算机领域,实体承载很多属性数据和关系数据,为数据分析、数据整合等操作提供数据基础,因此如何利用数据模型对实体进行存储成为人们关注的焦点。
一般地,根据实体所包含的属性数据和关系数据,对实体进行分类;再针对每一类实体创建数据模型,利用创建的数据模型存储同一类的实体。
上述模型只针对一类实体,是固定不变的,但是实体中的属性数据发生变化,实体的关系数据也会发生改变,使得实体的类别发生变化,这会导致原有的数据模型不再适用于发生变化的实体,需要重新建立模型,增加了运维人员的工作量,从而降低运维人员对存储数据的运维效率。
发明内容
本发明实施例提供了一种数据存储方法和装置,能够提高运维人员对存储数据的运维效率。
第一方面,本发明提供了一种数据存储方法,预先创建实体定义模型、实体属性模型、关联实体模型和关系定义模型,还包括:
获取至少一条待存储数据;
针对于每一条所述待存储数据,均执行:
确定当前待存储数据包括的至少一个实体;
为每一个所述实体设置实体标识符;
将所述至少一个实体的各条实体属性和所述实体标识符分别存储到所述实体定义模型和所述实体属性模型中;
根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,并将所述至少一个实体关系数据存储到所述关联实体模型中。
优选地,所述实体定义模型,包括:至少一个不变属性字段和至少一个所述实体标识符;
所述将所述至少一个实体的各条实体属性和所述实体标识符存储到所述实体定义模型,包括:
根据所述至少一个不变属性字段,从所述当前实体的至少一条实体属性中确定至少一条不变属性;
针对每一条所述不变属性,判断是否已存储当前不变属性对应的实体标识符,如果是,不存储所述当前不变属性;否则,将所述当前不变属性和所述当前不变属性对应的实体标识符存储至所述实体定义模型中。
优选地,所述实体属性模型,包括:至少一个可变属性字段;
所述将所述至少一个实体的各条实体属性和所述实体标识符存储到所述实体属性模型中,包括:
根据所述至少一个可变属性字段,从所述当前实体的至少一条实体属性中确定至少一条可变属性;
针对每一条所述可变属性,均执行:
A1,判断当前可变属性对应的实体标识符是否已存储,如果是,执行A2;否则,执行A4;
A2,判断所述当前可变属性对应的属性值是否已存储,如果是,执行A3;否则,执行A5;
A3,不存储所述当前可变属性;
A4,将所述当前可变属性对应的属性值和实体标识符存储至所述实体属性模型中;
A5,将所述当前可变属性对应的属性值存储至所述实体属性模型中。
优选地,所述根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,包括:
根据所述关系定义模型中包括的至少一个预设关系,确定所述当前待存储数据中的每一个所述实体对应的各个所述实体关系,
针对每一个所述实体关系,均执行:
确定当前实体关系包括的每一个所述实体的实体标识符;
从所述至少一个待存储数据中,获取所述当前实体关系的起始和终止时间;
利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据。
优选地,所述实体关系,包括:关联关系和分类关系;
所述利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据,包括:
在所述当前实体关系为所述关联关系时,确定所述当前实体关系包括的两个对象对应的实体标识符,以及所述关联关系的起始和终止时间;利用所述两个实体标识符、所述关联关系的起始和终止时间以及所述关联关系生成关联关系数据;
在所述当前实体关系为所述分类关系时,确定所述当前实体关系包括的实体对应的所述实体标识符,以及所述分类关系的起始和终止时间;利用所述实体标识符、所述分类关系的起始和终止时间以及所述分类关系生成分类关系数据。
第二方面,本发明实施例提供了一种数据存储装置,包括:创建模块、获取模块和数据处理模块;
所述创建模块,用于创建实体定义模型、实体属性模型、关联实体模型和关系定义模型;
所述获取模块,用于获取至少一条待存储数据;
所述数据处理模块,用于针对于所述获取模块获取到的每一条所述待存储数据,均执行:
确定当前待存储数据包括的至少一个实体;为每一个所述实体设置实体标识符;将所述至少一个实体的各条实体属性和所述实体标识符分别存储到所述实体定义模型和所述实体属性模型中;根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,并将所述至少一个实体关系数据存储到所述关联实体模型中。
优选地,所述实体定义模型,包括:至少一个不变属性字段和至少一个所述实体标识符;
所述数据处理模块,包括:不变属性处理单元;
所述属性获取单元,用于根据所述至少一个不变属性字段,从所述当前实体的至少一条实体属性中确定至少一条不变属性;针对每一条所述不变属性,判断是否已存储当前不变属性对应的实体标识符,如果是,不存储所述当前不变属性;否则,将所述当前不变属性和所述当前不变属性对应的实体标识符存储至所述实体定义模型中。
优选地,所述实体属性模型,包括:至少一个可变属性字段;
所述数据处理模块,进一步包括:可变属性处理单元;
所述可变属性处理单元,用于根据所述至少一个可变属性字段,从所述当前实体的至少一条实体属性中确定至少一条可变属性;
针对每一条所述可变属性,均执行:
A1,判断当前可变属性对应的实体标识符是否已存储,如果是,执行A2;否则,执行A4;
A2,判断所述当前可变属性对应的属性值是否已存储,如果是,执行A3;否则,执行A5;
A3,不存储所述当前可变属性;
A4,将所述当前可变属性对应的属性值和实体标识符存储至所述实体属性模型中;
A5,将所述当前可变属性对应的属性值存储至所述实体属性模型中。
优选地,所述数据处理模块,进一步包括:关系确定单元;
所述关系确定单元,用于根据所述关系定义模型中包括的至少一个预设关系,确定所述当前待存储数据中的每一个所述实体对应的各个所述实体关系,
针对每一个所述实体关系,均执行:
确定当前实体关系包括的每一个所述实体的实体标识符;
从所述至少一个待存储数据中,获取所述当前实体关系的起始和终止时间;
利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据。
优选地,所述实体关系,包括:关联关系和分类关系;
所述数据处理模块,进一步包括:关系存储单元;
所述关系存储单元,用于在所述当前实体关系为所述关联关系时,确定所述当前实体关系包括的两个对象对应的实体标识符,以及所述关联关系的起始和终止时间;利用所述两个实体标识符、所述关联关系的起始和终止时间以及所述关联关系生成关联关系数据;
在所述当前实体关系为所述分类关系时,确定所述当前实体关系包括的实体对应的所述实体标识符,以及所述分类关系的起始和终止时间;利用所述实体标识符、所述分类关系的起始和终止时间以及所述分类关系生成分类关系数据。
本发明实施例提供了一种数据存储方法和装置,在获取至少一条待存储数据后,针对于每一条待存储数据,确定当前待存储数据中包括的至少一个实体,再为当前实体配置实体标识符,以保证实体和实体属性是唯一的;将当前待存储数据中包括的各个实体的实体属性分别存储到实体定义模型和实体属性模型;再根据关系定义模型,确定各个实体对应的实体关系,并将各个实体关系存储到关联实体模型中。由此可见,本发明实施例分别针对实体属性和实体关系建立数据模型,以存储任意一个实体,而不用考虑实体的分类。因此当已存储的实体包括的实体属性和实体关系变化时,将新的实体属性和实体关系分别存储到实体属性模型和关联实体模型中,即在原有的模型中插入已更新的属性数据和关系数据,而不需要改变数据模型,以实现灵活地应对已存储的实体发生的变化,从而提高了运维人员对存储数据的运维效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种数据存储方法的流程图;
图2是本发明一实施例提供的另一种数据存储方法的流程图;
图3是本发明一实施例提供的一种数据存储装置的结构示意图;
图4是本发明一实施例提供的另一种数据存储装置的结构示意图;
图5是本发明一实施例提供的又一种数据存储装置的结构示意图;
图6是本发明一实施例提供的再一种数据存储装置的结构示意图;
图7是本发明一实施例提供的还一种数据存储装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种数据存储方法,包括以下步骤:
步骤101,预先创建实体定义模型、实体属性模型、关联实体模型和关系定义模型。
步骤102,获取至少一条待存储数据。
步骤103,针对于每一条所述待存储数据,均执行:确定当前待存储数据包括的至少一个实体;为每一个所述实体设置实体标识符;将所述至少一个实体的各条实体属性和所述实体标识符分别存储到所述实体定义模型和所述实体属性模型中;根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,并将所述至少一个实体关系数据存储到所述关联实体模型中。
本发明实施例提供了一种数据存储方法,在获取至少一条待存储数据后,针对于每一条待存储数据,确定当前待存储数据中包括的至少一个实体,再为当前实体配置实体标识符,以保证实体和实体属性是唯一的;将当前待存储数据中包括的各个实体的实体属性分别存储到实体定义模型和实体属性模型;再根据关系定义模型,确定各个实体对应的实体关系,并将各个实体关系存储到关联实体模型中。由此可见,本发明实施例分别针对实体属性和实体关系建立数据模型,以存储任意一个实体,而不用考虑实体的分类。因此当已存储的实体包括的实体属性和实体关系变化时,将新的实体属性和实体关系分别存储到实体属性模型和关联实体模型中,即在原有的模型中插入已更新的属性数据和关系数据,而不需要改变数据模型,以实现灵活地应对已存储的实体发生的变化,从而提高了运维人员对存储数据的运维效率。
实体中存在可变属性和不变属性,不变属性为在一定条件下不会发生变化以及没有多语言特性的属性,反之为可变属性。例如,以人为实体,那么人的姓名可以随时间发生,或者一个人拥有中文名、英文名等多个不同语言的名字,所以姓名是可变属性;而人的出生日期,是唯一确定的的,也不存在多种语言的出生日期,所以出生日期是不变属性。
由于可变属性和不变属性存在上述特点,因此选择分别存储可变属性和不变属性,对于不变属性,在本发明的一个实施例中,所述实体定义模型,包括:至少一个不变属性字段和至少一个所述实体标识符;
所述将所述至少一个实体的各条实体属性和所述实体标识符存储到所述实体定义模型,包括:
根据所述至少一个不变属性字段,从所述当前实体的至少一条实体属性中确定至少一条不变属性;
针对每一条所述不变属性,判断是否已存储当前不变属性对应的实体标识符,如果是,将所述当前不变属性和所述当前不变属性对应的实体标识符存储至所述实体定义模型中;否则,不存储所述当前不变属性。
由于不变属性不会随时间发生变化,对于一个确定的实体,该实体的不变属性是唯一确定的。但对于不同实体,不变属性不是唯一确定的,例如两个人可以在同一天出生,此时只有实体标识符唯一确定的,所以只要实体标识符被存储,那么该实体的不变属性也已经被存储。可以理解的是,按照上述定义,实体的不变属性非常少,且不变属性多为数据中的常设项,或可以通过其他属性推导出来,例如,出生日期可以通过身份账号确认,而身份证号又是数据中的常设项。因此在实际应用中,对于一个确定的实体,它的不变属性的个数是确定的,只要确定该实体的实体标识符已存储,就能判断不变属性已存储。
对于可变属性,在本发明的一个实施例中,所述实体属性模型,包括:至少一个可变属性字段;
所述将所述至少一个实体的各条实体属性和所述实体标识符存储到所述实体属性模型中,包括:
根据所述至少一个可变属性字段,从所述当前实体的至少一条实体属性中确定至少一条可变属性;
针对每一条所述可变属性,均执行:
A1,判断当前可变属性对应的实体标识符是否已存储,如果是,执行A2;否则,执行A4;
A2,判断所述当前可变属性对应的属性值是否已存储,如果是,执行A3;否则,执行A5;
A3,不存储所述当前可变属性;
A4,将所述当前可变属性对应的属性值和实体标识符存储至所述实体属性模型中;
A5,将所述当前可变属性对应的属性值存储至所述实体属性模型中。
与不变属性相比,无论在从同一实体的角度还是不同实体的角度,可变属性都不是唯一确定的,因此不能通过同样的的方法来判断可变属性是否要存储,而是根据属性值和实体标识符共同判断可变属性是否要存储。以人为实体为例,姓名为实体的可变属性,身份证号为实体的实体标识符,姓名的语言种类为“中文”为姓名的属性值,先根据身份证号的唯一性确定该实体的信息是否已经存储过,如果不存在该实体的信息,直接存储该实体的身份证号、姓名和属性值“中文”。如果存在该实体的信息,再判断实体已存储的姓名是否为中文,如果是,说明该实体的中文姓名已经存储过了,不用再次存储;否则,存储属性值“中文”。
为了描述各个实体间的关联关系,在本发明的一个实施例中,所述根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,包括:
根据所述关系定义模型中包括的至少一个预设关系,确定所述当前待存储数据中的每一个所述实体对应的各个所述实体关系;
针对每一个所述实体关系,均执行:
确定当前实体关系包括的每一个所述实体的实体标识符;
从所述至少一个待存储数据中,获取所述当前实体关系的起始和终止时间;
利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据。
在关系定义模型中,会预先按照一定格式,定义至少一种关系。例如,A和B为上下级关系,则定义如下,A和B为上下级关系,其中A是B的下级,B是A的上级。在接收到待存储数据时,可以根据已定义的关系确定各个实体对应的关系。由于关系中的实体,以及关系的持续时间是可以改变的。因此,存储各个实体对应的更关系时,要存储更关系的存储时间,及描述一段室内实体对应的关系,例如,一个人在A公司工作3年,有在B公司工作5年,那么存储该实体的关系时,就要分别存储该实体与A公司和B公司的雇佣关系,以及每一个雇佣关系的持续时间。
为了能够更准确定描述实体对应的关系,在本发明的一个实施例中,所述实体关系,包括:关联关系和分类关系;
所述利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据,包括:
在所述当前实体关系为所述关联关系时,确定所述当前实体关系包括的两个对象对应的实体标识符,以及所述关联关系的起始和终止时间;利用所述两个实体标识符、所述关联关系的起始和终止时间以及所述关联关系生成关联关系数据;
在所述当前实体关系为所述分类关系时,确定所述当前实体关系包括的实体对应的所述实体标识符,以及所述分类关系的起始和终止时间;利用所述实体标识符、所述分类关系的起始和终止时间以及所述分类关系生成分类关系数据。
实体对应的实体关系分两种,一种是实体与实体间的关联关系,例如省政府与市政府是上下级关系,一种是实体的分类关系,例如某企业是国企,“国企”是对“某企业”的公司性质的分类。关联关系通常包括两个对象,实体标识符分别表征每一个对象。关联关系是可以改变的,即关联关系存在时效性,通过从待获取数据中提取的起始和终止时间,能够确定关联关系的持续时间;最后利用两个标识符、关联关系的起始和终止时间以及关联关系生成关联关系数据,以便于存储和调取,例如,待存储数据为“张三从2006年至2010年就职于A大学”,那么两个实体分别是“张三”和“A大学”,在关系数据中用实体标识符表征“张三”和“A大学”;关联关系起始时间为2006年,终止时间为2010年;“张三”和“A大学”的关系为“张三”为“A大学”的雇员,“A大学”是张三的雇主,两者为雇佣关系,此时关联关系数据中就会存储“张三”的实体标识符、“2006”、“2010”、“雇佣关系”和“A大学”的实体标识符。
对于分类关系,通常包括实体和实体的分类属性,对于分类属性,每一类的名称是固定且唯一的,所以存储分类关系时不需要用标识符来表征分类属性。实体的分类关系也是可变的,例如,某一企业可以从国企转成私企,此时,该企业的分类关系就成生变化。因此,对于存储分类关系需要将存储分类关系中的实体的实体标识符,分类关系的起始和终止时间以及分类关系。例如,B学校从2000年至2010年为三本院校,则,“B学校”为实体关系的实体,“2000年”为起始时间,“2010”年为终止时间,“三本院校”为分类属性,说明“B学校”的类型为“三本院校”。那么对应的实体关系数据为“B学校”的唯一标识符、“2000年”、“2010”和“三本院校”。
下面以如表1所示的待存储数据为例,展开说明本发明实施例中提供的数据存储方法。
表1
身份证号 | 姓名 | 出生日期 | 学历 | 上学时间 | 工作单位 | 工作时间 |
a | 张三 | 1989.1.1 | 本科 | 2007-2011 | A | 2012-2014 |
如图2所示,本发明实施例提供了另一种数据存储方法,包括以下步骤:
步骤201,获取待存储数据表1。
在本发明实施例中,可以同时获取多条数据,但需要对每一条数据进行分别处理。
步骤202,确定表1中包括的实体:人和公司。
在本发明实施例中,会预先设定至少一个实体字段,以判断表1中的包括的实体,例如预先设定“身份证号”对应实体“人”,“工作单位”对应是实体“公司”。
步骤203,分别将身份证号和公司名称,设置为实体“人”和“公司”实体标识符。
在本发明实施例中,实体“人”的实体标识符为身份证号a,实体“公司”的实体标识符为公司名称。这里为每一个实体设置实体标识符,是为了方便后续查找实体属性是否被存储,因此,为保证实体标识符通常为具有唯一确定性的身份证号、车牌号等,以保证查找结果的准确性。
步骤204,根据实体定义模型中的不变属性字段,确定表1中的“出生日期”为不变属性。
在本发明实施例中,由于不变属性在一定条件下不会发生变化以及没有多语言特性,因此预设出生日期为不变属性。可以理解的是,工作时间和上学时间并不能对实体进行描述,故不算在实体的属性中,只是用于描述实体关系。
步骤205,判断是否已存储不变属性“出生日期”对应的身份证号,如果是,执行步骤219;否则,执行步骤206。
步骤206,将当前不变属性“出生日期”和身份证号存储至实体定义模型中。
在本发明实施例中,为不变属性配置第一标识符便于区分各个不变属性。
步骤207,根据实体属性模型中的可变属性字段,确定表1中的各条可变属性。
在本发明实施例中,由于姓名、学历可能会随着时间改变或存在多语言特性,因此预设姓名、学历为可变属性。
步骤208,针对每一条可变属性,判断当前可变属性字段对应的身份证号是否已存储,如果是,执行步骤210;否则,执行步骤209。
步骤209,将当前可变属性对应的属性值和身份证号存储至实体属性模型中,并执行步骤212。
在本发明实例中,以姓名为例,如果属性“姓名”对应的身份证号有被存储,说明该实体没有被存储过,进而得出属性“姓名”也没有被存储过,所以将当前可变属性对应的属性值和身份证号存储至实体属性模型中。
步骤210,判断当前可变属性字段对应的属性值是否已存储,如果是,执行步骤218;否则,执行步骤211。
步骤211,将当前可变属性对应的属性值存储至实体属性模型中。
在本发明实施例中,以姓名为例,如果身份证号相同,说明实体“人”已经存储过,从而推出可变属性“姓名”已存储,但由于可变属性是可变的,因此要判断可变属性“姓名”的属性值是否已存储,“姓名”的属性值为“张三”和“中文”,只有当已存储的属性值为“张三”和“中文”时,说明“姓名”的属性值已经被存储,无需再次存储;其他情况下,对应存储“张三”和/或“中文”。
步骤212,根据关系定义模型中的至少一个预设关系,确定实体“人”和实体“公司”存在雇佣关系和实体“人”存在分类关系。
在本发明实施例中,雇佣关系在关系定义模型中的定义为:“人”与“公司”存在雇佣关系,其中,“人”是“公司”的雇员,“公司”是“人”的雇主。实体“人”的可变属性“学历”使得实体“人”存在分类关系,在关系定义模型中的定义为:“人”按照“学历”分类,得到专科、本科、研究生中的一种。
步骤213,确定实体“人”的身份证号和实体“公司”的公司名称。
在本发明实施例中,生成关系数据需要确定各个关系包括的每一个所述实体的实体标识符。
步骤214,从表1中,获取各个关系的起始和终止时间。
在本发明实施例中,雇佣关系对应的起始和终止时间为2012和2014;实体“人”的分类关系对应的起始和终止时间为2007和2011。
步骤215,利用身份证号、公司名称、雇佣关系的起始和终止时间和雇佣关系得到关联关系数据。
在本发明实施例中,雇佣关系为实体与实体之间的关系,属于关联联关系。实体“人”和实体“公司”的关联关系数据,格式如表2所示:
表2
实体标识符 | 关系起始时间 | 关系终止时间 | 关系类型 | 实体标识符 |
a | 2012 | 2014 | 雇佣关系 | A |
可以理解的是上述表结构在同一业务场景下是固定不变的,对于不同的业务场景,可以根据实际需要进行调整,例如某公司有多个副经理,且存在第一副经理、第二副经理等时,通过在表2中增加关系系数来标识各个副经理的在公司中地位。
此外,通过设定实体在表中位置来体现实体关联关系中的所处的位置。例如,存在关联关系“A从属于B”,那么设定A在关联关系表的左边第一列,B设定在关联关系表的右边第一列。
步骤216,利用身份证号、实体“人”的分类关系的起始和终止时间和分类关系得到分类关系数据。
在本发明实施例中,属性“学历”对实体“人”进行分类,得到分类关系,分类关系数据如表3所示:
表3
可以理解的是上述表结构在同一业务场景下是固定不变的,对于不同的业务场景,可以根据实际需要进行调整,如果实体“人”的属性出现变化,比如张三读研究生,那么只要按照上述方法在表3的中再加一个数据行,以存储新增的实体属性。
步骤217,将关联关系数据和分类关系数据分别存储到关系类别模型中,并结束当前流程。
步骤218,不存储当前可变属性,并结束当前流程。
步骤219,不存储当前不变属性。
本发明上述实施例提供的数据存储方法,在一定应用场景下,当数据的实体或属性发生变化时,通过在数据模型中,插入更新的数据,不需要重新构建数据模型,从而提高了运维人员对存储数据的运维效率。
如图3所示,本发明实施例提供了一种数据存储装置,包括:创建模块301、获取模块302和数据处理模块303;
创建模块301,用于创建实体定义模型、实体属性模型、关联实体模型和关系定义模型;
获取模块302,用于获取至少一条待存储数据;
数据处理模块303,用于针对于所述获取模块获取到的每一条所述待存储数据,均执行:
确定当前待存储数据包括的至少一个实体;为每一个所述实体设置实体标识符;将所述至少一个实体的各条实体属性和所述实体标识符分别存储到所述实体定义模型和所述实体属性模型中;根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,并将所述至少一个实体关系数据存储到所述关联实体模型中。
如图4所示,本发明实施例提供了另一种数据存储装置,
所述实体定义模型,包括:至少一个不变属性字段和至少一个所述实体标识符;
数据处理模块303,包括:不变属性处理单元3031;
属性获取单元3031,所述属性获取单元,用于根据所述至少一个不变属性字段,从所述当前实体的至少一条实体属性中确定至少一条不变属性;针对每一条所述不变属性,判断是否已存储当前不变属性对应的实体标识符,如果是,不存储所述当前不变属性;否则,将所述当前不变属性和所述当前不变属性对应的实体标识符存储至所述实体定义模型中。
如图5所示,本发明实施例提供了又一种数据存储装置,
所述实体属性模型,包括:至少一个可变属性字段;
数据处理模块303,进一步包括:可变属性处理单元3032;
可变属性处理单元3032,用于根据所述至少一个可变属性字段,从所述当前实体的至少一条实体属性中确定至少一条可变属性;
针对每一条所述可变属性,均执行:
A1,判断当前可变属性对应的实体标识符是否已存储,如果是,执行A2;否则,执行A4;
A2,判断所述当前可变属性对应的属性值是否已存储,如果是,执行A3;否则,执行A5;
A3,不存储所述当前可变属性;
A4,将所述当前可变属性对应的属性值和实体标识符存储至所述实体属性模型中;
A5,将所述当前可变属性对应的属性值存储至所述实体属性模型中。
如图6所示,本发明实施例提供了再一种数据存储装置,
数据处理模块303,进一步包括:关系确定单元3033;
关系确定单元3033,用于根据所述关系定义模型中包括的至少一个预设关系,确定所述当前待存储数据中的每一个所述实体对应的各个所述实体关系,
针对每一个所述实体关系,均执行:
确定当前实体关系包括的每一个所述实体的实体标识符;
从所述至少一个待存储数据中,获取所述当前实体关系的起始和终止时间;
利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据。
如图7所示,本发明实施例提供了还一种数据存储装置,
所述实体关系,包括:关联关系和分类关系;
数据处理模块303,进一步包括:关系存储单元3034;
关系存储单元3034,用于用于在所述当前实体关系为所述关联关系时,确定所述当前实体关系包括的两个对象对应的实体标识符,以及所述关联关系的起始和终止时间;利用所述两个实体标识符、所述关联关系的起始和终止时间以及所述关联关系生成关联关系数据;
在所述当前实体关系为所述分类关系时,确定所述当前实体关系包括的实体对应的所述实体标识符,以及所述分类关系的起始和终止时间;利用所述实体标识符、所述分类关系的起始和终止时间以及所述分类关系生成分类关系数据。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一实施例中所述的数据存储方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线连接;
所述存储器,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一实施例中所述的数据存储方法。
综上所述,本发明各个实施例至少具有如下有益效果:
1、本发明一实施例中,在获取至少一条待存储数据后,针对于每一条待存储数据,确定当前待存储数据中包括的至少一个实体,再为当前实体配置实体标识符,以保证实体和实体属性是唯一的;将当前待存储数据中包括的各个实体的实体属性分别存储到实体定义模型和实体属性模型;再根据关系定义模型,确定各个实体对应的实体关系,并将各个实体关系存储到关联实体模型中。由此可见,本发明实施例分别针对实体属性和实体关系建立数据模型,以存储任意一个实体,而不用考虑实体的分类。因此当已存储的实体包括的实体属性和实体关系变化时,将新的实体属性和实体关系分别存储到实体属性模型和关联实体模型中,即在原有的模型中插入已更新的属性数据和关系数据,而不需要改变数据模型,以实现灵活地应对已存储的实体发生的变化,从而提高了运维人员对存储数据的运维效率。
2、本发明一实施例中,通过为各个实体设置实体标识符,使得已存储的各实体具有唯一性,便于判断实体的各个属性是否已存储,从而进一步提高了运维人员对存储数据的运维效率。
3、本发明一实施例中,通过在实体定义模型和实体属性模型中,设置可变属性字段和不变属性字段,运维人员可以通过调整可变属性字段和不变属性字段,以适应不断改变的应用场景,从而进一步提高了运维人员对存储数据的运维效率。
4、本发明一实施例中,通过设定关联关系和实体分类关系,完善了实体对应的关系,实现精确地描述各种关系,从而一步提高了运维人员对存储数据的运维效率。
5、本发明一实施例中,通过建立关系定义模型,使得运维人员可以不断将新的关系补充到关系定义模型中,增加数据模型适用范围,从而一步提高了运维人员对存储数据的运维效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据存储方法,其特征在于,预先创建实体定义模型、实体属性模型、关联实体模型和关系定义模型,还包括:
获取至少一条待存储数据;
针对于每一条所述待存储数据,均执行:
确定当前待存储数据包括的至少一个实体;
为每一个所述实体设置实体标识符;
将所述至少一个实体的各条实体属性和所述实体标识符分别存储到所述实体定义模型和所述实体属性模型中;
根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,并将所述至少一个实体关系数据存储到所述关联实体模型中。
2.根据权利要求1所述的方法,其特征在于,
所述实体定义模型,包括:至少一个不变属性字段和至少一个所述实体标识符;
所述将所述至少一个实体的各条实体属性和所述实体标识符存储到所述实体定义模型,包括:
根据所述至少一个不变属性字段,从所述当前实体的至少一条实体属性中确定至少一条不变属性;
针对每一条所述不变属性,判断是否已存储当前不变属性对应的实体标识符,如果是,不存储所述当前不变属性;否则,将所述当前不变属性和所述当前不变属性对应的实体标识符存储至所述实体定义模型中。
3.根据权利要求1所述的方法,其特征在于,
所述实体属性模型,包括:至少一个可变属性字段;
所述将所述至少一个实体的各条实体属性和所述实体标识符存储到所述实体属性模型中,包括:
根据所述至少一个可变属性字段,从所述当前实体的至少一条实体属性中确定至少一条可变属性;
针对每一条所述可变属性,均执行:
A1,判断当前可变属性对应的实体标识符是否已存储,如果是,执行A2;否则,执行A4;
A2,判断所述当前可变属性对应的属性值是否已存储,如果是,执行A3;否则,执行A5;
A3,不存储所述当前可变属性;
A4,将所述当前可变属性对应的属性值和实体标识符存储至所述实体属性模型中;
A5,将所述当前可变属性对应的属性值存储至所述实体属性模型中。
4.根据权利要求1所述的方法,其特征在于,
所述根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,包括:
根据所述关系定义模型中包括的至少一个预设关系,确定所述当前待存储数据中的每一个所述实体对应的各个所述实体关系;
针对每一个所述实体关系,均执行:
确定当前实体关系包括的每一个所述实体的实体标识符;
从所述至少一个待存储数据中,获取所述当前实体关系的起始和终止时间;
利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据。
5.根据权利要求4所述的方法,其特征在于,
所述实体关系,包括:关联关系和分类关系;
所述利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据,包括:
在所述当前实体关系为所述关联关系时,确定所述当前实体关系包括的两个对象对应的实体标识符,以及所述关联关系的起始和终止时间;利用所述两个实体标识符、所述关联关系的起始和终止时间以及所述关联关系生成关联关系数据;
在所述当前实体关系为所述分类关系时,确定所述当前实体关系包括的实体对应的所述实体标识符,以及所述分类关系的起始和终止时间;利用所述实体标识符、所述分类关系的起始和终止时间以及所述分类关系生成分类关系数据。
6.一种数据存储装置,其特征在于,包括:创建模块、获取模块和数据处理模块;
所述创建模块,用于创建实体定义模型、实体属性模型、关联实体模型和关系定义模型;
所述获取模块,用于获取至少一条待存储数据;
所述数据处理模块,用于针对于所述获取模块获取到的每一条所述待存储数据,均执行:
确定当前待存储数据包括的至少一个实体;为每一个所述实体设置实体标识符;将所述至少一个实体的各条实体属性和所述实体标识符分别存储到所述实体定义模型和所述实体属性模型中;根据所述关系定义模型,确定所述至少一个实体对应的至少一个实体关系数据,并将所述至少一个实体关系数据存储到所述关联实体模型中。
7.根据权利要求6所述的装置,其特征在于,
所述实体定义模型,包括:至少一个不变属性字段和至少一个所述实体标识符;
所述数据处理模块,包括:不变属性处理单元;
所述属性获取单元,用于根据所述至少一个不变属性字段,从所述当前实体的至少一条实体属性中确定至少一条不变属性;针对每一条所述不变属性,判断是否已存储当前不变属性对应的实体标识符,如果是,不存储所述当前不变属性;否则,将所述当前不变属性和所述当前不变属性对应的实体标识符存储至所述实体定义模型中。
8.根据权利要求6所述的装置,其特征在于,
所述实体属性模型,包括:至少一个可变属性字段;
所述数据处理模块,进一步包括:可变属性处理单元;
所述可变属性处理单元,用于根据所述至少一个可变属性字段,从所述当前实体的至少一条实体属性中确定至少一条可变属性;
针对每一条所述可变属性,均执行:
A1,判断当前可变属性对应的实体标识符是否已存储,如果是,执行A2;否则,执行A4;
A2,判断所述当前可变属性对应的属性值是否已存储,如果是,执行A3;否则,执行A5;
A3,不存储所述当前可变属性;
A4,将所述当前可变属性对应的属性值和实体标识符存储至所述实体属性模型中;
A5,将所述当前可变属性对应的属性值存储至所述实体属性模型中。
9.根据权利要求6所述的装置,其特征在于,
所述数据处理模块,进一步包括:关系确定单元;
所述关系确定单元,用于根据所述关系定义模型中包括的至少一个预设关系,确定所述当前待存储数据中的每一个所述实体对应的各个所述实体关系,
针对每一个所述实体关系,均执行:
确定当前实体关系包括的每一个所述实体的实体标识符;
从所述至少一个待存储数据中,获取所述当前实体关系的起始和终止时间;
利用各个已确定的实体标识符、所述当前实体关系的起始和终止时间以及所述当前实体关系,生成所述关系数据。
10.根据权利要求9所述的装置,其特征在于,
所述实体关系,包括:关联关系和分类关系;
所述数据处理模块,进一步包括:关系存储单元;
所述关系存储单元,用于在所述当前实体关系为所述关联关系时,确定所述当前实体关系包括的两个对象对应的实体标识符,以及所述关联关系的起始和终止时间;利用所述两个实体标识符、所述关联关系的起始和终止时间以及所述关联关系生成关联关系数据;
在所述当前实体关系为所述分类关系时,确定所述当前实体关系包括的实体对应的所述实体标识符,以及所述分类关系的起始和终止时间;利用所述实体标识符、所述分类关系的起始和终止时间以及所述分类关系生成分类关系数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711182701.1A CN107844600A (zh) | 2017-11-23 | 2017-11-23 | 一种数据存储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711182701.1A CN107844600A (zh) | 2017-11-23 | 2017-11-23 | 一种数据存储方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107844600A true CN107844600A (zh) | 2018-03-27 |
Family
ID=61679197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711182701.1A Pending CN107844600A (zh) | 2017-11-23 | 2017-11-23 | 一种数据存储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107844600A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325038A (zh) * | 2018-09-05 | 2019-02-12 | 天津航旭科技发展有限公司 | 知识图谱扩展模型、结构化知识存储方法与设备 |
WO2020001616A1 (zh) * | 2018-06-29 | 2020-01-02 | 杭州海康威视数字技术股份有限公司 | 本体构建方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231642A (zh) * | 2007-08-27 | 2008-07-30 | 中国测绘科学研究院 | 时空数据库管理方法及其系统 |
US20120317137A1 (en) * | 2010-01-28 | 2012-12-13 | Guangzhou Ccm Information Science & Technology Co., Ltd. | Method for multi-dimensional database storage and inquiry |
CN103544222A (zh) * | 2013-10-07 | 2014-01-29 | 宁波芝立软件有限公司 | 一种通用亲缘关系信息存储表示方法、系统及设备 |
CN104573133A (zh) * | 2015-02-13 | 2015-04-29 | 广州神马移动信息科技有限公司 | 存储数据的方法和设备 |
CN104750809A (zh) * | 2015-03-26 | 2015-07-01 | 中国科学院软件研究所 | 一种支持关系模型和键-值结构的混合数据存储方法 |
-
2017
- 2017-11-23 CN CN201711182701.1A patent/CN107844600A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231642A (zh) * | 2007-08-27 | 2008-07-30 | 中国测绘科学研究院 | 时空数据库管理方法及其系统 |
US20120317137A1 (en) * | 2010-01-28 | 2012-12-13 | Guangzhou Ccm Information Science & Technology Co., Ltd. | Method for multi-dimensional database storage and inquiry |
CN103544222A (zh) * | 2013-10-07 | 2014-01-29 | 宁波芝立软件有限公司 | 一种通用亲缘关系信息存储表示方法、系统及设备 |
CN104573133A (zh) * | 2015-02-13 | 2015-04-29 | 广州神马移动信息科技有限公司 | 存储数据的方法和设备 |
CN104750809A (zh) * | 2015-03-26 | 2015-07-01 | 中国科学院软件研究所 | 一种支持关系模型和键-值结构的混合数据存储方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020001616A1 (zh) * | 2018-06-29 | 2020-01-02 | 杭州海康威视数字技术股份有限公司 | 本体构建方法及装置 |
CN109325038A (zh) * | 2018-09-05 | 2019-02-12 | 天津航旭科技发展有限公司 | 知识图谱扩展模型、结构化知识存储方法与设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914558A (zh) | 基于句袋注意力远程监督的课程知识关系抽取方法及系统 | |
CN108805076B (zh) | 环境影响评估报告书表格文字的提取方法及系统 | |
CN108920544A (zh) | 一种基于知识图谱的个性化职位推荐方法 | |
CN103646110B (zh) | 自然人基本身份信息匹配方法 | |
CN107705066A (zh) | 一种商品入库时信息录入方法及电子设备 | |
CN109657230A (zh) | 融合词向量和词性向量的命名实体识别方法及装置 | |
CN109240258A (zh) | 基于词向量的汽车故障智能辅助诊断方法和系统 | |
CN109241297B (zh) | 一种内容分类聚合方法、电子设备、存储介质及引擎 | |
CN109522452A (zh) | 一种海量半结构化数据的处理方法 | |
CN108764302A (zh) | 一种基于颜色特征和词袋特征的票据图像分类方法 | |
CN113723270A (zh) | 基于rpa及ai的文件处理方法及装置 | |
CN109739957A (zh) | 基于数据处理的单据信息录入方法、装置、设备及存储介质 | |
CN109344227A (zh) | 工单处理方法、系统和电子设备 | |
CN108537257A (zh) | 基于判别性字典矩阵对的零样本分类方法 | |
CN109933783A (zh) | 一种不良资产经营领域的合同要素化方法 | |
CN110032650A (zh) | 一种训练样本数据的生成方法、装置及电子设备 | |
CN107491729A (zh) | 基于余弦相似度激活的卷积神经网络的手写数字识别方法 | |
CN107944866B (zh) | 交易记录排重方法及计算机可读存储介质 | |
CN110070045A (zh) | 一种营业执照的文本识别方法、系统及相关组件 | |
CN108228788A (zh) | 办事指南自动提取并关联的方法及电子设备 | |
CN107844600A (zh) | 一种数据存储方法和装置 | |
CN113946657A (zh) | 一种基于知识推理的电力业务意图自动识别方法 | |
Wu et al. | Tedm-pu: A tax evasion detection method based on positive and unlabeled learning | |
CN106685707A (zh) | 一种分布式基础设施系统中的资产信息控制方法 | |
CN116739408A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180327 |
|
RJ01 | Rejection of invention patent application after publication |