CN117436131B - 一种数据管理系统 - Google Patents
一种数据管理系统 Download PDFInfo
- Publication number
- CN117436131B CN117436131B CN202311757305.2A CN202311757305A CN117436131B CN 117436131 B CN117436131 B CN 117436131B CN 202311757305 A CN202311757305 A CN 202311757305A CN 117436131 B CN117436131 B CN 117436131B
- Authority
- CN
- China
- Prior art keywords
- information
- sub
- database
- user
- target
- 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
- 238000013523 data management Methods 0.000 title claims abstract description 23
- 230000015654 memory Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 description 18
- 238000004519 manufacturing process Methods 0.000 description 11
- 230000001174 ascending effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据管理系统,涉及数据管理领域,所述系统包括:处理器、存储器和若干预设的数据库;所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现以下步骤:获取每一用户的信息,以得到用户信息列表集;获取每一预设的数据库的标识,以得到数据库标识列表DID;根据DID、每一用户的唯一身份标识和每一数据库对应的动态序列号,生成每一用户的每一子信息对应的索引号,以得到索引号列表集;根据每一子信息对应的索引号,将每一用户的每一种类型的子信息存储于对应的数据库中;本发明能够确保用户信息的安全性。
Description
技术领域
本发明涉及数据管理领域,特别是涉及一种数据管理系统。
背景技术
安全生产培训一直以来都是企业安全生产过程中不可缺少的一个环节;对于企业来说,安全生产培训能够有效提升企业从业人员的安全生产意识,降低人为因素引发的安全生产事故,将企业的安全生产过程中可能发生的风险系数降到最低。
线下的安全生产培训不仅成本高,而且不能满足企业培训的需求;而线上的安全生产培训所生成的数据涉及到用户的许多隐私信息,包括:姓名、年龄、手机号码,甚至婚姻状况、工作岗位,以及照片、视频、考试成绩、培训证书等等;现有技术中,通常是对每个人的安全培训数据进行整体的数据存储;然而,采用该种数据存储管理方法,一旦数据存储管理平台遭受网络攻击或存在安全漏洞,将导致大量的个人信息泄露。
发明内容
针对上述技术问题,本发明采用的技术方案为:
根据本申请的第一方面,提供了一种数据管理系统,所述数据管理系统包括:处理器、存储器和若干预设的数据库,每一数据库用于存储一种类型的用户的子信息;所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现以下步骤:
S100,获取每一用户的信息,以得到用户信息列表集D=(D1,D2,…,Di,…,Dn),i=1,2,…,n;其中,Di为第i个用户的信息列表,n为用户的数量;Di=(Di,1,Di,2,…,Di,j,…,Di,m),j=1,2,…,m;Di,j为第i个用户的第j种类型的子信息,m为每一用户信息对应的子信息的类型数量;Di,j包括第i个用户的所有第j种类型的属性信息。
S200,获取每一预设的数据库的标识,以得到数据库标识列表DID=(DID1,DID2,…,DIDj,…,DIDm);其中,DIDj为每一用户的第j种类型的子信息对应的数据库标识。
S300,根据DID、每一用户的唯一身份标识和每一数据库对应的动态序列号,生成每一用户的每一子信息对应的索引号,以得到索引号列表集Uindex=(Uindex1,Uindex2,…,Uindexi,…,Uindexn);其中,Uindexi为Di对应的索引号列表;Uindexi=(Uindexi,1,Uindexi,2,…,Uindexi,j,…,Uindexi,m);Uindexi,j为Di,j对应的索引号;Uindexi,j=PRG(k0,UIDi,DIDj,SNj);k0为预设的系统密钥,UIDi为第i个用户的唯一身份标识;SNj为DIDj对应的数据库对应的动态序列号;PRG()为预设的索引号生成函数。
S400,根据每一子信息对应的索引号,将每一用户的第j种类型的子信息存储于DIDj对应的数据库中;其中,DIDj对应的数据库包括n列,每一列对应一个用户的第j种类型的子信息。
本发明至少具有以下有益效果:
本发明的数据管理系统,将每一用户的不同类型的子信息分别存储至不同的数据库中,其中一种类型的子信息包括用户的所有个人信息;并根据每一子信息对应的数据库的标识、每一用户的唯一身份标识和每一数据库对应的动态序列号,生成每一用户的每一子信息对应的索引号;使得一个用户对应的完整的信息分散存储至若干个数据库中,其中一个数据库只存储用户的个人信息,不存储与个人信息相关的其他业务信息;即使某个数据库的信息发生泄露,在不知道索引号生成方式的前提下,也无法将某一用户的每一子信息关联起来,从而确保用户信息的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据管理系统的框架图;
图2为本发明实施例提供的数据管理系统的处理器实现的步骤的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其他方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其他结构及/或功能性实施此设备及/或实践此方法。
本发明所针对的是安全生产培训,安全生产培训会针对若干用户,每一用户对应有个人信息、视频图像信息、培训成绩以及证书等信息;一个用户关联的所有信息如果存储于一个数据库中,如果数据库发生泄露,将导致用户所有的信息泄露;基于此,本发明提供一种数据管理系统,已解决上述问题。
下面将参照图1所示的数据管理系统,对一种数据管理系统进行介绍。
所述生产培训数据管理系统包括:处理器、存储器和若干预设的数据库,每一数据库用于存储一种类型的用户的子信息。
本实施例中,所有的数据库可以存储在一个存储器内,也可以存储在多个存储器内;数据库的数量根据每一用户所对应的子信息的类型的数量而定。
所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如图2所示的步骤:
S100,获取每一用户的信息,以得到用户信息列表集D=(D1,D2,…,Di,…,Dn),i=1,2,…,n;其中,Di为第i个用户的信息列表,n为用户的数量;Di=(Di,1,Di,2,…,Di,j,…,Di,m),j=1,2,…,m;Di,j为第i个用户的第j种类型的子信息,m为每一用户信息对应的子信息的类型数量;Di,j包括第i个用户的所有第j种类型的属性信息。
本实施例中,安全生产培训会针对n个用户,每一用户具有m种类型的子信息;例如,用户的姓名、身份证件类型和身份证件号码作为一种类型的子信息;用户的性别、年龄、电话以及住址作为一种类型的子信息;用户的工作性质、职工号、雇主名称、联系人姓名和联系人电话作为一种类型的子信息;用户参加培训的内容、时长和有效时长等作为一种类型的子信息;用户的考试时间、用户参加考试的开始时间、结束时间、作弊记录、考试成绩和综合成绩等作为一种类型的子信息;由此,能够将每一用户的每一类型的子信息获取到,得到D。
需要说明的是,本实施例中,Di,j包括第i个用户的所有第j种类型的属性信息;属性信息为用户的姓名、身份证件类型和身份证件号码;此类子信息单独归类;即使此类信息泄露,也无法与其他类型的子信息进行关联,从而确保个人信息的安全。
S200,获取每一预设的数据库的标识,以得到数据库标识列表DID=(DID1,DID2,…,DIDj,…,DIDm);其中,DIDj为每一用户的第j种类型的子信息对应的数据库标识。
本实施例中,预设的每一数据库对应有预设的标识;例如,设置有用户标识数据库、用户信息数据库、用户工作状态数据库、用户培训数据库和用户考试成绩数据库;分别用于存储用户的每一类型的子信息;对应的标识分别为db000,db001,db002,db003,db004;能够将每一预设的数据库的标识获取,以得到DID。
需要说明的是,本实施例中,用户标识数据库一般不用更新,例如,一个用户的身份证信息通常无须更新;用户信息数据库的更新频率也较低,通常在更换联系方式、更换工作单位、获得培训证书或培训证书失效时才需要更新;由此,只需保留更新前后两次数据记录即可;用户工作状态数据库随状态变更而更新,需要保留建档以来的所有历史数据;用户培训数据库则可能频繁更新,因为每次参加培训都要更新数据记录;一般情况下,需要保留最近几年的重要培训数据;用户考试成绩数据库,每次考试后更新,且需要保留近几年的重要数据。
S300,根据DID、每一用户的唯一身份标识和每一数据库对应的动态序列号,生成每一用户的每一子信息对应的索引号,以得到索引号列表集Uindex=(Uindex1,Uindex2,…,Uindexi,…,Uindexn);其中,Uindexi为Di对应的索引号列表;Uindexi=(Uindexi,1,Uindexi,2,…,Uindexi,j,…,Uindexi,m);Uindexi,j为Di,j对应的索引号;Uindexi,j=PRG(k0,UIDi,DIDj,SNj);k0为预设的系统密钥,UIDi为第i个用户的唯一身份标识;SNj为DIDj对应的数据库对应的动态序列号;PRG()为预设的索引号生成函数。
本实施例中,对每个子信息设置对应的索引号,以便能索引查询,数据库中的每个子信息都需要一个唯一索引号;本实施例中,用户的唯一身份标识可以为用户的身份证号;PRG()可以为SM3哈希算法。
本实施例中,如果使第i个用户的唯一身份标识UIDi作为每一数据库中记录该用户的子信息的索引号;那么,每一数据库的索引号是相同的,即Uindexi是UIDi通过一个固定变换PRG生成的字符串,即Uindexi=PRG(UIDi);如果攻击者获得了数据库,并得到PRG这个函数,则尝试不同用户的唯一身份标识,就容易发现Uindexi对应哪个用户。
为了避免上述情况的发生,本实施例进一步设计了使用密钥来生成索引号的方法;即,预设一个系统密钥k0,将用户的唯一身份标识和平台密钥k0作为变换PRG的输入,就可以生成其他数据库的索引号Uindex=PRG(k0,UID)。
上述方法虽然使用了密码技术来保护用户的隐私,但同一用户在不同数据库中的数据仍使用相同的索引号;这样,攻击者可以对不同的数据库进行关联,从而可以猜测某些特殊用户,导致隐私泄露。
为此,本实施例进一步将数据库的标识用于产生用户的子信息的索引号,即Uindexi,j=PRG(k0,UIDi,DIDj);由此,同一用户在不同数据库中的数据对应不同的索引号。
本实施例中,为了进一步提升用户信息的隐私保护程度,为每一数据库设置对应的动态序列号,使得同一个数据库的每一子信息的索引号也可以动态变化;从而得到Uindexi,j=PRG(k0,UIDi,DIDj,SNj);当某个数据库的动态序列号进行更新时,对应的数据库的每一子信息的索引号都相应进行更新。
本实施例中,使用上述方法生成索引号,即使数据库发生泄露,如果不掌握索引号的产生方式,从每一单独的数据库中无法知道哪条子信息属于哪个用户,从而保证了用户的隐私性。
进一步的,SNj可以通过以下步骤得到:
S310,获取当前的日期date;其中,date包括当前的年份和月份。
本实施例中,能够实时获取到当前的日期;例如,当前的日期为2023年12月份,那么,对应的date为202312。
S320,根据date和DIDj,生成SNj=PRG(DIDj,date)。
通过上述方法,能够随着时间的变化,对每一数据库的动态序列号进行更新,从而进一步提升用户信息的安全性。
S400,根据每一子信息对应的索引号,将每一用户的第j种类型的子信息存储于DIDj对应的数据库中;其中,DIDj对应的数据库包括n列,每一列对应一个用户的第j种类型的子信息。
具体的,步骤S400包括以下步骤:
S410,获取每一种类型的子信息对应的索引号,并对每一种类型的子信息对应的索引号进行排序,以得到第一子信息索引号列表集A=(A1,A2,…,Aj,…,Am);其中,Aj为第j种类型的子信息对应的第一子信息索引号列表;Aj=(Aj,1,Aj,2,…,Aj,i,…,Aj,n);Aj,i为第j种类型的子信息对应的第一子信息索引号列表中第i个用户的子信息对应的索引号;Aj,r<Aj,r+1;r=1,2,…,n-1。
S420,根据Aj,将Aj,i对应的子信息存储至DIDj对应的数据库中的第i列内。
本实施例中,Aj中的索引号是按照升序的方式进行排列的;由此,在后期对子信息检索时,能够大大提高检索效率。
进一步的,在步骤S420之后,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S430,若date中的月份发生变化,则根据当前的月份对SNj进行更新,以得到DIDj对应的数据库当前对应的动态序列号SN’j。
S431,根据SN’j,更新每一种类型的子信息对应的索引号,以得到第二子信息索引号列表集B=(B1,B2,…,Bj,…,Bm);其中,Bj为Aj更新后的子信息索引号列表;Bj=(Bj,1,Bj,2,…,Bj,i,…,Bj,n);Bj,i为Aj,i更新后的索引号。
S432,若Bj,r<Bj,r+1,则不调整DIDj对应的数据库中每一子信息的存储位置;否则,调整Bj中所有索引号的排列顺序,以得到Bj对应的目标子信息索引号列表Cj=(Cj,1,Cj,2,…,Cj,i,…,Cj,n);其中,Cj,r<Cj,r+1。
S433,根据Cj,将Cj,i对应的子信息存储至DIDj对应的数据库的第i列内。
本实施例中,如果date中的月份发生变化,将导致SNj更新,那么,每一数据库中的每一子信息对应的索引号有可能还是升序排列,也有可能不是升序排列;因此,本实施例中,当SNj更新时,首先判断Bj内的索引号是否升序排列,若是,则不调整DIDj对应的数据库中每一子信息的存储位置;避免执行重复的排序动作;若不是,则重新调整Bj内的索引号的排列顺序,得到Cj,确保后续检索子信息的效率较高。
进一步的,在步骤S400之后,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S500,使用预设的若干密钥,对所有的数据库中的每一列的子信息进行加密。
S510,获取每一列的子信息对应的密钥,以得到密钥列表集T=(T1,T2,…,Tj,…,Tm);其中,Tj为DIDj对应的数据库的密钥列表;Tj=(Tj,1,Tj,2,…,Tj,i,…,Tj,n);Tj,i为DIDj对应的数据库中第i列对应的密钥。
本实施例中,为了进一步提升用户信息的安全性,对每一数据库中的每一列子信息进行加密,同时,将每一数据库中的每一列子信息对应的密钥获取,以得到T。
由此,用户对数据库的访问权限通过密文管理的方式予以实现,也就是说,对用户的访问权限的控制,无须强行阻断用户访问数据库,只需要确保用户不能对没有权限的数据进行解密即可。
进一步的,在步骤510之后,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S600,响应于目标账户的查询操作,获取目标账户的类型。
本实施例中,目标账户为登录该数据管理系统的账户,目标账户分为多个类型;例如,目标账户可以为个人账户、企业账户和机构账户。
S610,若目标账户为预设的个人账户,则获取目标账户对应的用户的唯一身份标识WID以及目标账户对应的每一目标数据库的标识,以得到目标数据库标识列表MQ=(MQ1,MQ2,…,MQx,…,MQy),x=1,2,…,y;其中,MQx为目标账户对应的第x个目标数据库的标识,y为目标账户对应的目标数据库的数量;目标数据库为目标账户具有访问权限的数据库。
本实施例中,个人账户可以访问自己的部分或者全部子信息,取决于预先设置的个人账户的访问权限,例如,预先设置的个人账户的访问权限为:个人账户只能够访问用户标识数据库和用户考试成绩数据库,那么,用户标识数据库和用户考试成绩数据库为目标数据库。
S620,根据WID、MQ、k0以及查询日期date’,生成目标账户对应的用户对应于每一目标数据库的查询索引号,以得到查询索引号列表CH=(CH1,CH2,…,CHx,…,CHy);其中,CHx为目标账户对应的用户对应于MQx的查询索引号;CHx=PRG(k0,MQx,WID,SNnow);SNnow为MQx对应的动态序列号;SNnow=PRG(MQx,date’)。
S630,根据CH,确定目标账户对应的用户在每一目标数据库中的目标子信息;其中,目标子信息为目标数据库中目标账户具有访问权限的子信息。
在确定目标数据库后,则能够根据WID、MQ、k0以及查询日期date’生成目标账户对应的用户对应于MQx的查询索引号,根据CHx在MQx中检索对应的子信息即可;需要说明的是,本领域技术人员能够根据实际需要使用现有的检索方法对MQx进行检索,此处不加赘述。
S640,根据T,获取每一目标子信息对应的密钥。
在获取到每一目标子信息后,根据每一目标子信息在数据库中的存储位置以及T,也能够将每一目标子信息对应的密钥获取到。
S650,使用第一预设发送方式,将每一目标子信息发送至目标账户;并使用第二预设发送方式,将每一目标子信息对应的密钥发送至目标账户,使得目标账户对应的用户根据每一目标子信息对应的密钥对每一目标子信息进行解密;第一预设发送方式和第二预设发送方式不同。
上述方法,在数据管理系统中始终不会对用户的任何子信息进行解密,解密操作是在用户侧完成,从而确保数据管理系统的数据库中的子信息的安全性。
同时,使用不同的发送方式将目标子信息和密钥发送至目标账户,能够避免目标子信息和对应的密钥同时泄露,从而进一步提高用户信息的安全性。
进一步的,在步骤S600之后,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S700,若目标账户为预设的指定账户,则根据预设的账户映射表,确定指定账户对应的指定数据库以及每一指定数据库中对应的每一指定子信息;其中,指定数据库为指定账户具有访问权限的数据库;指定子信息为指定数据库中指定账户具有访问权限的子信息。
S710,使用第一预设发送方式,将每一指定子信息发送至目标账户;并使用第二预设发送方式,将每一指定子信息对应的密钥发送至目标账户,使得目标账户对应的用户根据每一指定子信息对应的密钥对每一指定子信息进行解密;第一预设发送方式和第二预设发送方式不同。
本实施例中,指定账户可以为企业账户或机构账户,此类的账户的访问权限较高;预设的账户映射表中记录有每一该类型的账户对应的指定数据库以及每一指定数据库中对应的每一指定子信息,只需要将每一指定数据库中的每一指定子信息全部获取即可。
使用不同的发送方式将指定子信息和密钥发送至目标账户,能够避免指定子信息和对应的密钥同时泄露,从而进一步提高用户信息的安全性。
进一步的,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S440,若Di,j为预设类型的子信息,则对Di,j进行加密,以生成Di,j对应的加密子信息D’i,j。
S441,将D’i,j存储于DIDj对应的数据库中。
本实施例中,预设类型的子信息为包括有人脸信息的子信息;如用户的面部照片、考试监督视频等,需要加密后进行存储;而加密所使用的密钥,将分配给那些有权限访问这类数据的用户。
本实施例的数据管理系统,将每一用户的不同类型的子信息分别存储至不同的数据库中,其中一种类型的子信息包括用户的所有个人信息;并根据每一子信息对应的数据库的标识、每一用户的唯一身份标识和每一数据库对应的动态序列号,生成每一用户的每一子信息对应的索引号;使得一个用户对应的完整的信息分散存储至若干个数据库中,其中一个数据库只存储用户的个人信息,不存储与个人信息相关的其他业务信息;即使某个数据库的信息发生泄露,在不知道索引号生成方式的前提下,也无法将某一用户的每一子信息关联起来,从而确保用户信息的安全性。
此外,尽管在附图中以特定顺序描述了本公开中的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。
Claims (4)
1.一种数据管理系统,其特征在于,所述数据管理系统包括:处理器、存储器和若干预设的数据库,每一数据库用于存储一种类型的用户的子信息;所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现以下步骤:
S100,获取每一用户的信息,以得到用户信息列表集D=(D1,D2,…,Di,…,Dn),i=1,2,…,n;其中,Di为第i个用户的信息列表,n为用户的数量;Di=(Di,1,Di,2,…,Di,j,…,Di,m),j=1,2,…,m;Di,j为第i个用户的第j种类型的子信息,m为每一用户信息对应的子信息的类型数量;Di,j包括第i个用户的所有第j种类型的属性信息;
S200,获取每一预设的数据库的标识,以得到数据库标识列表DID=(DID1,DID2,…,DIDj,…,DIDm);其中,DIDj为每一用户的第j种类型的子信息对应的数据库的标识;
S300,根据DID、每一用户的唯一身份标识和每一数据库对应的动态序列号,生成每一用户的每一子信息对应的索引号,以得到索引号列表集Uindex=(Uindex1,Uindex2,…,Uindexi,…,Uindexn);其中,Uindexi为Di对应的索引号列表;Uindexi=(Uindexi,1,Uindexi,2,…,Uindexi,j,…,Uindexi,m);Uindexi,j为Di,j对应的索引号;Uindexi,j=PRG(k0,UIDi,DIDj,SNj);k0为预设的系统密钥,UIDi为第i个用户的唯一身份标识;SNj为DIDj对应的数据库的动态序列号;PRG()为预设的索引号生成函数;用户的唯一身份标识为用户的身份证号码;
S400,根据每一子信息对应的索引号,将每一用户的第j种类型的子信息存储于DIDj对应的数据库中;其中,DIDj对应的数据库包括n列,每一列对应一个用户的第j种类型的子信息;
所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S310,获取当前的日期date;其中,date包括当前的年份和月份;
S320,根据date和DIDj,生成SNj=PRG(DIDj,date);
所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S410,获取每一种类型的子信息对应的索引号,并对每一种类型的子信息对应的索引号进行排序,以得到第一子信息索引号列表集A=(A1,A2,…,Aj,…,Am);其中,Aj为第j种类型的子信息对应的第一子信息索引号列表;Aj=(Aj,1,Aj,2,…,Aj,i,…,Aj,n);Aj,i为第j种类型的子信息对应的第一子信息索引号列表中第i个用户的子信息对应的索引号;Aj,r<Aj,r+1;r=1,2,…,n-1;
S420,根据Aj,将Aj,i对应的子信息存储至DIDj对应的数据库中的第i列内;
所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S430,若date中的月份发生变化,则根据当前的月份对SNj进行更新,以得到DIDj对应的数据库当前对应的动态序列号SN’j;
S431,根据SN’j,更新每一种类型的子信息对应的索引号,以得到第二子信息索引号列表集B=(B1,B2,…,Bj,…,Bm);其中,Bj为Aj更新后的子信息索引号列表;Bj=(Bj,1,Bj,2,…,Bj,i,…,Bj,n);Bj,i为Aj,i更新后的索引号;
S432,若Bj,r<Bj,r+1,则不调整DIDj对应的数据库中每一子信息的存储位置;否则,调整Bj中所有索引号的排列顺序,以得到Bj对应的目标子信息索引号列表Cj=(Cj,1,Cj,2,…,Cj,i,…,Cj,n);其中,Cj,r<Cj,r+1;
S433,根据Cj,将Cj,i对应的子信息存储至DIDj对应的数据库的第i列内;
在步骤S400之后,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S500,使用预设的若干密钥,对所有的数据库中的每一列的子信息进行加密;
S510,获取每一列的子信息对应的密钥,以得到密钥列表集T=(T1,T2,…,Tj,…,Tm);其中,Tj为DIDj对应的数据库的密钥列表;Tj=(Tj,1,Tj,2,…,Tj,i,…,Tj,n);Tj,i为DIDj对应的数据库中第i列对应的密钥。
2.根据权利要求1所述的数据管理系统,其特征在于,在步骤510之后,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S600,响应于目标账户的查询操作,获取目标账户的类型;
S610,若目标账户为预设的个人账户,则获取目标账户对应的用户的唯一身份标识WID以及目标账户对应的每一目标数据库的标识,以得到目标数据库标识列表MQ=(MQ1,MQ2,…,MQx,…,MQy),x=1,2,…,y;其中,MQx为目标账户对应的第x个目标数据库的标识,y为目标账户对应的目标数据库的数量;目标数据库为目标账户具有访问权限的数据库;
S620,根据WID、MQ、k0以及查询日期date’,生成目标账户对应的用户对应于每一目标数据库的查询索引号,以得到查询索引号列表CH=(CH1,CH2,…,CHx,…,CHy);其中,CHx为目标账户对应的用户对应于MQx的查询索引号;CHx=PRG(k0,MQx,WID,SNnow);SNnow为MQx对应的动态序列号;SNnow=PRG(MQx,date’);
S630,根据CH,确定目标账户对应的用户在每一目标数据库中的目标子信息;其中,目标子信息为目标数据库中目标账户具有访问权限的子信息;
S640,根据T,获取每一目标子信息对应的密钥;
S650,使用第一预设发送方式,将每一目标子信息发送至目标账户;并使用第二预设发送方式,将每一目标子信息对应的密钥发送至目标账户,使得目标账户对应的用户根据每一目标子信息对应的密钥对每一目标子信息进行解密;第一预设发送方式和第二预设发送方式不同。
3.根据权利要求2所述的数据管理系统,其特征在于,在步骤S600之后,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S700,若目标账户为预设的指定账户,则根据预设的账户映射表,确定指定账户对应的指定数据库以及每一指定数据库中对应的每一指定子信息;其中,指定数据库为指定账户具有访问权限的数据库;指定子信息为指定数据库中指定账户具有访问权限的子信息;
S710,使用第一预设发送方式,将每一指定子信息发送至目标账户;并使用第二预设发送方式,将每一指定子信息对应的密钥发送至目标账户,使得目标账户对应的用户根据每一指定子信息对应的密钥对每一指定子信息进行解密;第一预设发送方式和第二预设发送方式不同。
4.根据权利要求1所述的数据管理系统,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行还实现以下步骤:
S440,若Di,j为预设类型的子信息,则对Di,j进行加密,以生成Di,j对应的加密子信息D’i,j;
S441,将D’i,j存储于DIDj对应的数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311757305.2A CN117436131B (zh) | 2023-12-20 | 2023-12-20 | 一种数据管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311757305.2A CN117436131B (zh) | 2023-12-20 | 2023-12-20 | 一种数据管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117436131A CN117436131A (zh) | 2024-01-23 |
CN117436131B true CN117436131B (zh) | 2024-04-05 |
Family
ID=89552031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311757305.2A Active CN117436131B (zh) | 2023-12-20 | 2023-12-20 | 一种数据管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117436131B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217690A (zh) * | 2007-12-27 | 2008-07-09 | 华为技术有限公司 | 实现数据业务和数据信息分布存储的系统及方法 |
CN105183915A (zh) * | 2015-10-14 | 2015-12-23 | 江苏师范大学 | 减少索引维护开销的多版本管理方法 |
CN113032471A (zh) * | 2021-03-23 | 2021-06-25 | 广东电网有限责任公司 | 一种数据库的处理方法、装置、电子设备和介质 |
JP2021131795A (ja) * | 2020-02-21 | 2021-09-09 | 日本瓦斯株式会社 | 情報処理装置、情報処理方法、及びプログラム |
CN117009453A (zh) * | 2023-10-07 | 2023-11-07 | 杭州雅拓信息技术有限公司 | 一种数字化营销实时查询客户所在客群列表的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220188431A1 (en) * | 2020-12-14 | 2022-06-16 | International Business Machines Corporation | Api access to security-sensitive computing system |
-
2023
- 2023-12-20 CN CN202311757305.2A patent/CN117436131B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217690A (zh) * | 2007-12-27 | 2008-07-09 | 华为技术有限公司 | 实现数据业务和数据信息分布存储的系统及方法 |
CN105183915A (zh) * | 2015-10-14 | 2015-12-23 | 江苏师范大学 | 减少索引维护开销的多版本管理方法 |
JP2021131795A (ja) * | 2020-02-21 | 2021-09-09 | 日本瓦斯株式会社 | 情報処理装置、情報処理方法、及びプログラム |
CN113032471A (zh) * | 2021-03-23 | 2021-06-25 | 广东电网有限责任公司 | 一种数据库的处理方法、装置、电子设备和介质 |
CN117009453A (zh) * | 2023-10-07 | 2023-11-07 | 杭州雅拓信息技术有限公司 | 一种数字化营销实时查询客户所在客群列表的方法和系统 |
Non-Patent Citations (2)
Title |
---|
Analysis of data management and query handling in social networks using NoSQL databases;Anita Brigit Mathew 等;《2015 International Conference on Advances in Computing, Communications and Informatics (ICACCI)》;20150813;第800-806页 * |
DAS模型中的数据库加密与密文检索研究;刘念;《中国博士学位论文全文数据库 信息科技辑》;20101115(第11期);第I138-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117436131A (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948367B (zh) | 一种基于区块链技术的医疗数据授权方法 | |
WO2020177392A1 (zh) | 基于联邦学习的模型参数训练方法、装置、设备及介质 | |
WO2021128733A1 (zh) | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 | |
CN110990407A (zh) | 基于区块链的数据存储方法、装置、服务器及存储介质 | |
CN112751670B (zh) | 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法 | |
Tang et al. | A secure and trustworthy medical record sharing scheme based on searchable encryption and blockchain | |
US11475121B2 (en) | Confidential information processing system and confidential information processing method | |
Zhang et al. | Secure decentralized attribute-based sharing of personal health records with blockchain | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
CN115473715B (zh) | 前向安全密文等值测试公钥加密方法、装置、系统及介质 | |
CN110717197A (zh) | 一种基于区块链的征信数据共享方法 | |
Liu et al. | FASE: A fast and accurate privacy-preserving multi-keyword top-k retrieval scheme over encrypted cloud data | |
Huang et al. | Privacy-preserving traceable attribute-based keyword search in multi-authority medical cloud | |
CN113764060A (zh) | 一种基于双区块链的医疗数据管理系统、病人授权病历共享方法 | |
CN116527709A (zh) | 结合量子密钥和区块链的电子病历安全共享系统及方法 | |
Padhya et al. | BTG-RKASE: Privacy Preserving Revocable Key Aggregate Searchable Encryption with Fine-grained Multi-delegation & Break-The-Glass Access Control. | |
Zhang et al. | Nano: Cryptographic enforcement of readability and editability governance in blockchain databases | |
Zhang et al. | Designated server certificateless deniably authenticated encryption with keyword search | |
CN103729603A (zh) | 一种支持读写分离的安全文件管理系统与方法 | |
CN117436131B (zh) | 一种数据管理系统 | |
US20160148021A1 (en) | Systems and Methods for Trading of Text based Data Representation | |
CN115412259B (zh) | 基于区块链的云健康系统可搜索代理签密方法及产品 | |
Hathaliya et al. | A Smart contract-based secure data sharing scheme in Healthcare 5.0 | |
Li et al. | A blockchain-based scheme for efficient medical data sharing with attribute-based hierarchical encryption | |
Zhang et al. | Crypt-ehrserver: Protecting confidentiality with attribute-based encryption and encrypted query processing |
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 |