CN113051229A - 一种用户数据获取方法、装置、终端及可读存储介质 - Google Patents
一种用户数据获取方法、装置、终端及可读存储介质 Download PDFInfo
- Publication number
- CN113051229A CN113051229A CN201911371680.7A CN201911371680A CN113051229A CN 113051229 A CN113051229 A CN 113051229A CN 201911371680 A CN201911371680 A CN 201911371680A CN 113051229 A CN113051229 A CN 113051229A
- Authority
- CN
- China
- Prior art keywords
- user data
- folder
- user
- identification information
- 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.)
- Pending
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/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/168—Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种用户数据获取方法、装置、终端及可读存储介质,该方法通过API接口层接收包括用户的身份识别信息的请求,根据该身份识别信息确定该用户对应的用户数据文件在文件系统中的文件夹路径,其中,该文件夹路径包括至少一个文件夹,文件夹的名称包括身份识别信息中的至少一部分字段,文件系统用于存储文件夹和用户数据文件。本发明还提供了一种用户数据获取装置、终端及可读存储介质,通过身份识别信息直接确定到用户数据文件的存储地址,进而可以实现不借助于数据库就能获取用户数据的功能,该方法简单、快捷且节省了购买维护数据库的软硬件成本。
Description
技术领域
本发明实施例涉及但不限于计算机通信网络领域,具体而言,涉及但不限于一种用户数据获取方法、装置、终端及可读存储介质。
背景技术
运营商存储用户数据的常用方法是使用一个数据库,建立一个表,以用户的电话号码作为主键存储用户数据。
要读取用户数据时,就用用户的电话号码去查这张表,然后就能得到用户数据。
本领域的其他方案或多或少必须使用到数据库。
相关技术中除了能根据用户的电话号码去查找到用户数据外,还能利用数据库做排序、或者按照除电话号码外的其他条件进行查询这些操作。显然,这是一个比较“重”的方案,即在系统中使用一个数据库的成本较高,这包括安装数据库所需的硬件设备成本,购买商业数据库使用权的成本以及维护数据库的人力成本。
在很多场景下,我们其实只需要系统能完成新增、更新、删除、获得用户数据等基本操作就可以了,并不需要数据库那些复杂的功能,我们其实需要一个“轻”方案。
发明内容
本发明实施例提供的一种用户数据获取方法、装置、终端及可读存储介质,主要解决的技术问题是当前相关技术中关于用户数据的获取方式,大都采用通过数据库来进行获取,但对于功能需求基础的用户来说,数据库功能相对复杂、建立使用维护成本高。
为解决上述技术问题,本发明实施例提供一种用户数据获取方法,应用于用户数据获取装置,所述用户数据获取装置包括API接口层,所述用户数据获取方法包括:通过所述API接口层接收用户的请求,所述请求包括所述用户的身份识别信息;根据所述身份识别信息确定所述用户对应的用户数据文件在文件系统中的文件夹路径,所述文件夹路径包括至少一个文件夹,所述文件夹的名称包括所述身份识别信息中至少一部分字段,所述文件系统用于存储所述文件夹和所述用户数据文件,所述用户数据文件包括所述用户数据;根据所述文件夹路径获取所述用户数据。
本发明实施例还提供了一种用户数据获取装置,该用户数据获取装置包括API接口层、执行模块、文件系统和获取模块;所述API接口层用于接收用户的请求,所述请求包括所述用户的身份识别信息;所述执行模块用于确定获取所述用户对应的用户数据文件在文件系统中的文件夹路径,所述文件夹路径包括至少一个文件夹,所述文件夹的名称包括所述身份识别信息中至少一部分字段;所述文件系统用于存储所述文件夹和所述用户数据文件,所述用户数据文件包括所述用户数据;所述获取模块用于根据所述文件夹路径获取所述用户数据。
本发明实施例还提供了一种终端,所述终端包括:处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的一个或者多个计算机程序,以实现如上述任一项所述的用户数据获取方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如上述任一项所述的用户数据获取方法的步骤。
本发明的有益效果是:
本发明提供的一种用户数据获取方法、装置、终端及可读存储介质,该用户数据获取方法通过API接口层接收包括用户的身份识别信息的请求,根据该身份识别信息确定该用户对应的用户数据文件在文件系统中的文件夹路径,其中,该文件夹路径包括至少一个文件夹,文件夹的名称包括身份识别信息中的至少一部分字段,文件系统用于存储文件夹和用户数据文件。通过身份识别信息直接获取到用户数据文件的存储地址,进而可以实现不借助于数据库就能获取用户数据的功能,该方法简单、快捷且节省了购买维护数据库的软硬件成本。
本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
图1为本发明实施例一提供的一种用户数据获取方法流程示意图;
图2为本发明实施例一提供的一种具体的用户数据获取方法流程示意图;
图3为本发明实施例三提供的一种用户数据获取装置的结构示意图;
图4-1为本发明实施例三提供的一种具体的用户数据获取装置的结构示意图;。
图4-2为本发明实施例三提供的图4-1中分布式文件系统的一种实现方式的示意图;
图4-3为本发明实施例三提供的图4-1中分布式文件系统的另一种实现方式的示意图;
图5为本发明实施例四提供一种终端的结构示意图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
本实施例提供了一种用户数据获取方法,该用户数据获取方法应用于用户数据获取装置,该用户数据获取装置包括API接口层,请参见图1,该用户数据获取方法包括:
S101:通过API接口层接收用户的请求,请求包括用户身份识别信息;
S102:根据用户身份识别信息确定该用户对应的用户数据文件在文件系统中的文件夹路径;
S103:根据文件夹路径获取用户数据。
用户身份识别信息包括但不限于电话号码、车牌号码、身份证号、专利的申请号、用户ID等,需要说明的是,用户身份识别信息为各用户所对应的具有唯一性的标志。在一些实施例中,各用户身份识别信息的创建规则为统一规则,包括但不限于以下至少之一:统一的字符长度、统一的字母数字构成等。用户身份识别信息可以是有约定规则的唯一标志,例如身份证号、车牌号码、电话号码等,用户身份识别信息也可以是根据需要创建的规则的唯一标志,例如小区内某一房间的用户身份识别信息为:楼号+单元号+楼层+房间号,假设某一房间位于5号楼2单元12层1号房,则该房间的用户身份识别信息为52121。
文件夹路径所包括至少一个文件夹,该文件夹的名称包括身份识别信息中至少一部分字段。需要说明的是,在一些实施例中,文件夹的名称也可以通过对身份识别信息中的字段在预设列表中进行映射后,将映射得到的新的字段作为文件夹的名称,虽然名称上存在一定区别,但在一定程度上,用新的字段来表征作为文件夹名称与身份识别信息中的至少一部分作为文件夹名称其实是一致的。其中,预设列表中的映射关系应当是一一映射。例如,身份识别信息为由0-9构成的N位序列码,则一种示例性的映射关系可见下表1,参见表1:
表1身份识别信息映射关系示意表
身份识别信息值 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
映射值 | A | B | C | D | E | F | G | H | I | J |
在一些实施例中,文件系统用于存储文件夹和用户数据文件。
文件系统可以采用包括但不限于分布式文件系统。其中文件夹的存放结构包括但不限于树形用户数据存放结构。其中文件系统接口包括但不限于以文件夹作为存储路径逻辑结构的文件系统接口。
在一些实施例中,文件系统接口规范包括但不限于NFS协议。
需要说明的是,文件系统自身具有一个根目录,本发明实施例中的文件夹路径为在该根目录下的文件夹路径。例如根目录为/customer,文件夹路径为/1535,则该用户数据文件的实际地址为/customer/1535。
在一些实施例中,当文件夹路径包括一个文件夹时,该文件夹的名称包括身份识别信息中的全部字段。
换句话说,此时,直接使用用户的身份识别信息作为该用户的用户数据文本所在的文件夹名称,各用户的用户数据文件组成的文件系统的层级也因而只有一级。
需要说明的是,本发明实施例中的用户对应的用户数据文件的文件夹路径是在存放用户数据的文件系统中的路径,一般来说,用以存放该文件系统的存储空间中,还至少存在一个根目录,假使该文件系统存在计算机的D盘中,则在实际调用用户数据文本中所使用的调用文件夹路径应该为D/文件夹路径。以文件夹路径只包括一个文件夹为例,用户身份识别信息为13323122121,则调用文件夹路径应当为D/13323122121。
在一些实施例中,当文件夹路径包括至少两个文件夹时,各件夹的名称与各子身份识别信息一一对应,子身份识别信息包括身份识别信息按照预设规则进行分割,得到按照预设优先级排序的至少两个子身份识别信息,优先级低的子身份识别信息对应的文件夹为优先级高的子身份识别信息对应的文件夹的下级文件夹。
其中,身份识别信息按照预设规则进行分割中的预设规则包括但不限于按照汉字、字母、数字的分布分割,例如,对于车牌号作为用户身份识别信息时,车牌号的第一个字一般均是表省份或直辖市、自治区、特区的汉字,第二个为表地区的字母,其余字符为字母+数字,此时,可以将车牌号按照汉字+字母、数字的方式分割成两部分,也即,第一个汉字为第一子身份识别信息,其余字符为第二子身份识别信息,如渝A12121可以分割为:渝,A12121两部分;按照字符位数进行分割,假使身份识别信息为6个字符,则以两个字符为一组进行分割,例如身份识别信息为112233,则分割后的各子身份识别信息为11,22,33;按照身份识别信息的表征含义进行分割,例如以身份证号作为身份识别信息,其中前1、2位数字表示:所在省份的代码;第3、4位数字表示:所在城市的代码;第5、6位数字表示:所在区县的代码;第7~14位数字表示:出生年、月、日(7.8.9.10位是年,11.12位是月,13.14位是日);第15、16位数字表示:所在地的派出所的代码;第17位数字表示性别:奇数表示男性,偶数表示女性;第18位数字是校检码:校检码可以是0~9的数字,有时也用x表示,对此,可以根据各个位置的字符代表的含义顺序进行分割,第1-2位为第一子身份识别信息,第3-4位为第二子身份识别信息,第5-6位为第三子身份识别信息,第7-14位为第四子身份识别信息,第15-16位为第五子身份识别信息,第17位为第六子身份识别信息,第18位为第七子身份识别信息,也即,该身份识别信息此时被分割为7个子身份识别信息。
在一些实施例中,各用户的身份识别信息可能是不同长度的字符串,例如,用户的身份识别信息为中国专利的申请号,由于2003年以前专利的申请号为8位,2003年下半年,专利的申请号改革为12位。对于此种身份识别信息的字符串长度存在不同,当文件夹路径包括至少两个文件夹时,预设规则还包括将字符串长度较短的身份识别信息以预设特征值的方式补偿至与各身份识别信息中字符串最长的身份识别信息的字符串长度一致,需要说明的是,以预设特征值补偿后的各用户的身份识别信息之间仍需存在唯一性。还是以中国专利的申请号为例,当用户的身份识别信息既存在8位,又存在12位时,以12位为标准,将8位的身份识别信息用预设特征值加以补偿。用户甲的身份识别信息为98111111,用户乙的身份识别信息为201410000000,则按照预设规则对身份识别信息分别对甲、乙进行分割的一种可行的方式为:对甲的身份识别信息进行分割,先用预设特征值0加以补偿,将甲的身份识别信息进行补偿为000098111111,再按照4/1/7的分割方式进行分割,分割后的各子身份识别信息为:0000,9,8111111;对乙的身份识别信息进行分割,分割后的各子身份识别信息为:2014,1,0000000。需要说明的是,预设特征值的补偿位置也即其是放在身份识别信息的字符首末还是中间,是否连续补偿,本领域技术人员可以根据需要进行设定,当存在至少两个预设特征值补偿位时,至少两个预设特征值可以相同,也可以部分相同。
在一些实施例中,各用户的身份识别信息可能是不同长度的字符串,此时,也可以不对字符串较短的身份识别信息进行补偿,直接按照预设的分割方式进行分割,对于分割到缺少的字符位置时,按照实际得到的字符进行分组。例如当用户的身份识别信息既存在8位,又存在12位时,以12位为标准,用户甲的身份识别信息为98111111,用户乙的身份识别信息为201410000000,则按照预设规则对身份识别信息分别对甲、乙进行分割的一种可行的方式为:按照4/1/7的分割方式进行分割,分割后的甲的各子身份识别信息为:9811,1,111;对乙的身份识别信息进行分割,分割后的各子身份识别信息为:2014,1,0000000。例如当用户的身份识别信息既存在8位,又存在12位时,以12位为标准,用户甲的身份识别信息为98111111,用户乙的身份识别信息为201410000000,则按照预设规则对身份识别信息分别对甲、乙进行分割的一种可行的方式为:按照4/1/2/5的分割方式进行分割,分割后的甲的各子身份识别信息为:9811,1,11,1;对乙的身份识别信息进行分割,分割后的各子身份识别信息为:2014,1,00,00000。例如当用户的身份识别信息既存在8位,又存在12位时,以12位为标准,用户甲的身份识别信息为98111111,用户乙的身份识别信息为201410000000,则按照预设规则对身份识别信息分别对甲、乙进行分割的一种可行的方式为:按照4/1/3/4的分割方式进行分割,分割后的甲的各子身份识别信息为:9811,1,111;对乙的身份识别信息进行分割,分割后的各子身份识别信息为:2014,1,000,0000。
在一些实施例中,预设规则还可以是根据当前用户的身份识别信息的字符串长度进行设定,例如,用户的身份识别信息存在8位和12位两种规格,此时,针对与身份识别信息为8位的,则预设规则为按照2/1/6的分割方式进行分割,针对身份识别信息为12位的,则预设规则按照4/1/7的分割方式进行分割。
在一些实施例中,预设规则还可以根据身份识别信息中的特征值的不同,对应不同的预设子规则,例如,身份识别信息包括特征值A,则该身份识别信息的预设子规则为按照字母,数字进行分割等。
在一些实施例中,对身份识别信息按照预设规则进行分割后,得到的按照预设优先级排序的至少两个子身份识别信息中的预设优先级,可以是本领域技术人员根据需要制定的排序规则。预设优先级也可以是根据身份识别信息的阅读或者是识别顺序进行排序,例如,身份识别信息122,分割后得到1,2,2三个子身份识别信息,则上述三个子身份识别信息的优先级根据阅读顺序排序为1,2,2。
进一步的,将优先级低的子身份识别信息对应的文件夹为优先级高的子身份识别信息对应的文件夹的下级文件夹。以上述身份识别信息123,分割后得到1,2,3三个子身份识别信息,则上述三个子身份识别信息的优先级根据阅读顺序排序为1,2,,3为例,此时第一级文件夹为1,1文件夹的子文件夹为2,2文件夹的子文件夹为3,将用户123的用户数据文本存储于文件夹3中。
在一些实施例中,根据身份识别信息确定用户对应的用户数据文件在文件系统中的文件夹路径之后,还包括:
通过API接口层接收用户的操作指令;
根据操作指令对用户数据文件进行管理。
需要说明的是,在一些实施例中,根据文件夹路径获取用户数据文件与通过API接口层接收用户的操作指令两个步骤之间没有步序的要求,两者只要在根据操作指令对用户数据文件进行管理之前执行完成即可。
在一些实施例中,由于获取到文件夹路径就相当于获取到用户数据文件的存储位置,此时直接将该文件夹路径输入地址栏即可查找到该用户数据文件。
参见图2,用户身份识别信息为用户电话号码为例,一种用户数据获取方法如下:
S201:获取用户电话号码;
S202:直接使用或者分割用户电话号码得到用户的用户数据文件的文件夹路径;
S203:根据操作指令管理该用户数据文件。
需要说明的是,操作指令包括但不限于新建、删除、更新、获取用户数据等。
操作指令包括但不限于删除、新建、更新、获取用户数据、显示用户个人信息等。
在一些实施例中,该操作指令是包括在用户的请求之内的,换句话说用户的请求包括了用户的身份识别信息和操作指令。
当操作指令包括更新用户数据信息,根据操作指令对用户数据文件进行管理包括:
直接通过获取到的文件夹路径打开对应的用户数据文件,在该文件中直接进行更新。
当操作指令为删除用户数据时,对获取到的用户数据文件直接进行删除后,该用户数据文件所在的最底层文件夹当前为空文件夹,为使系统占用更少,节约资源,可以将该最底层文件夹进行删除。
当操作指令包括删除用户数据,根据操作指令对用户数据文件进行管理包括:
删除用户数据文件;
删除用户数据文件所在的最底层文件。
需要说明的是,用户数据文件所在的最底层文件夹只存储该用户的用户数据文件。换句话说,一个最底层文件夹对应着一个用户的用户数据文件。假使当前文件夹路径为1/2/3/customer.xml,则该用户数据文件为customer.xml,最底层文件夹为3。
在一些实施例中,操作指令包括删除用户数据,根据所述操作指令对用户数据文件进行管理包括:
删除用户数据文件及用户数据文件对应的空文件夹;
用户数据文件对应的空文件夹包括用户数据文件所在的最底层文件夹、最底层文件夹的至少一级上级空文件夹,上级空文件夹所包括的用户数据文件数量为0。
有时,最底层文件夹的上一级文件夹第一上级文件夹,或者说最底层文件夹的父文件夹只包括最底层文件夹这一个文件夹,当用户数据删除后,该最底层文件夹也被删除,此时,该第一上级文件夹为空文件夹,为减少系统占用,可以将该第一上级文件夹一并删除。当然,也会存在该第一上级文件夹的父文件夹第二上级文件夹也只包括第一上级文件夹这一个文件夹,此时,也可以将该第二上级文件集一并删除。当存在多级上级文件夹时,其余的上级文件夹也可以以此类推。
在一些实施例中,用户数据文件对应的空文件夹还包括以软链接形式链接到该用户数据文件的各级文件夹。
在一些实施例中,根据文件夹路径获取用户数据之后,还包括以下至少之一:
请求包括新增用户数据文件,则根据文件夹路径新增相应的文件夹、对应新增用户数据文件;
根据文件夹路径获取不到用户数据文件,则根据文件夹路径新增相应的文件夹、对应新增用户数据文件;
当用户的请求包括新增用户数据文件,有时会存在该用户已经存在一个用户数据文件,此时若再次新建用户数据文件将导致信息的重复、资源浪费,有时还可能会对已有的文件进行覆盖,导致信息丢失。为避免这一情况发生,可以将预设条件设定为根据文件夹路径获取不到用户数据文件,此时说明,要么该文件夹路径错误,要么该文件夹路径下的最底层文件夹为空文件夹,此时,再根据新增用户数据文件指令进行用户数据文件的新增,就可以避免这一问题的发生。
在一些实施例中,用户数据获取方法还包括:
对用户进行分类,获取各分类的类别标识信息;
将类别标识信息作为类别文件夹名称,建立对应的类别文件夹;
在类别文件夹下建立与文件夹路径相对应的类别子文件夹;
将类别子文件夹中的最底层类别子文件夹与对应的用户数据文件所在的最底层文件夹进行软链接。
在一些实施例中,各类别文件夹是建立在类别根目录之下的,在类别根目录中还包括记载类别标识信息与类别名称之间的映射关系的映射关系文件。
在一些实施例中,当存在对用户数据文件进行删除的操作时,与用户数据文件软链接的各级类别子文件夹若包括的用户数据文件数量为0时,也一并进行删除。
在一些实施例中,在类别文件夹下建立与文件夹路径相对应的类别子文件夹,将类别子文件夹中的最底层类别子文件夹与对应的用户数据文件所在的最底层文件夹进行软链接可以理解为:假使当前用户的用户身份识别信息为1236,用户数据的根目录customer,则其对应的文件夹路径为customer/1/23/6,该用户的用户数据文件存储在/6文件夹下。对用户进行分类后,该用户属于集团A,集团A的映射标识信息为0001,此时则新建一个集团根文件夹company,在集团根文件夹之下建立一个集团文件夹,该文件夹的名称为0001,在0001文件夹之下根据文件夹路径建立相对应的类别子文件夹,company/0001/1/23/6,此时,将company/0001/1/23/6中的/6最底层文件夹软链接到company/0001/1/23/6中的/6最底层文件夹。
本发明实施例通过API接口层接收用户的请求,请求包括用户的身份识别信息,根据身份识别信息确定用户对应的用户数据文件的文件夹路径,文件夹路径包括至少一个文件夹,文件夹的名称包括身份识别信息中至少一部分字段。其中,API接口层向调用方提供了一个隐藏后续保存文件夹路中的各个文件夹以及用户数据文件的文件系统的接口,调用方通过该API接口层向文件系统发送相关的指令,但由于API接口层的隐藏,使得调用方并不清楚其所调用的文件系统与传统的数据库并不相同。通过本发明实施例所提供的用户数据获取方法,节省了服务提供方需要购买维护用户存放用户数据信息的数据库的软硬件成本,高效的实现了利用数据库才能实现的部分基础功能,通过身份识别信息直接得到用户数据文件的存储位置,进而实现对用户数据的获取,节约了成本,且由于通过本发明实施例的方法可以直接定位到用户数据文件的所在位置,其获取用户数据文件的速率相对较快,资源占用少。另外,该方法不仅可以应用在服务器中,也可以应用在其他需求基础,需要数据库才能实现的应用软件的使用中。
进一步地,通过本发明实施例所提供的方法,还支持对用户进行分类,并通过建立对应的类别子文件夹,将类别子文件夹中的最底层类别子文件夹与用书数据文件实际所在的最底层文件夹进行软链接,可以实现在文件夹路径对应的文件夹和用户数据文件均建立好后,需要新增功能的实现,该方法可以使用多种应用场景。
实施例二:
为了更清楚的说明本发明实施例所提供的一种用户数据获取方法,下面通过一个具体的实施例对上述用户数据获取方法进行进一步说明。
首先,建立预设文件系统;
使用支持以文件夹作为存储路径逻辑结构的文件系统接口,其中,文件系统接口规范例如NFS协议的文件系统,本实施例以分布式文件系统为例,用于存储,其中文件系统的根目录为/customer。
第二,根据预设规则构成文件夹路径;
以电话号码作为用户的身份识别信息,直接使用或者分割用户电话号码构成文件夹路径。
其中,直接使用就是直接将用户的号码作为文件夹名;分割是指将用户的号码分割成多段构成文件夹路径,例如按照344方式分割中国用户11位电话号码成3/4/4型文件夹路径,其中344分割是本发明推荐的分割方式,但是不限于这一种分割映射文件夹的方式,例如434,443,22223等,将该文件夹存储在预设文件系统上。
第三,将用户数据文件存储在上述文件夹路径中的最底层文件夹;
举例说明:假设用户电话号码为13681949589,则该用户的”硬盘“文件是放在分布式文件系统的customer/13681949589(直接使用)文件夹或者customer/136/8194/9589子文件夹(344分割)下的hd.qcow2。用户的所有个人信息都以XML文件格式存放在一个文件customer.xml中,也是存放在分布式文件系统的同一个文件夹下。这些信息可供管理平台在需要的时候显示给管理员看。
下面通过一个具体示例进行进一步说明:示例中选用了一种支持NFS协议的分布式文件系统。系统的API接口层提供以下功能,文件夹结构选用344,其实现详见下方所述:
一、新增用户:
假设新增用户电话号码为13681949589,则在分布式文件系统上建立/customer/136/8194/9589子文件夹,生成已经格式化完毕的hd.qcow2文件放在这个目录下,作为用户最初的“空白硬盘”。同时,将用户的所有个人信息都以XML文件格式存放在一个文件customer.xml中,也放在这个文件夹下。
二、更新用户个人信息:
假设已存在用户,他的电话号码为13681949589,管理平台需要更新这名用户的个人信息,则直接可以打开/customer/136/8194/9589子文件夹下的customer.xml进行更新。
三、显示用户个人信息:
假设已存在用户,他的电话号码为13681949589,管理平台需要显示这名用户的个人信息,则直接可以读取/customer/136/8194/9589子文件夹下的customer.xml进行显示。
四、删除用户:
假设已存在用户,他的电话号码为13681949589,管理平台需要删除这名用户,则可以直接删除/customer/136/8194下的/9589子文件夹;如果在删除了/9589子文件夹后,它的父文件夹/8194为空文件夹,就继续删除掉/8194子文件夹;以此类推,如果在删除了/8194子文件夹后,它的父文件夹/136也为空,就继续删除掉/136子文件夹。
五、列出所有用户:
遍历分布式文件系统的customer目录下的所有第4级子文件夹,读取第4级子文件夹下的customer.xml进行列表显示。
在一些实施例中,上述具体实施方案还可以根据需要进行扩展,这里举一个扩展新功能的例子:
例如要求新增功能:列出同属于一个集团的所有用户,换句话说,需要对现有的用户进行分类,由于每个用户属于一个特定的集团,管理平台或者说用户数据调用者时常需要列出属于同一个集团的所有用户。
因此,在新增用户13681949589时,假设该用户属于”某某”集团,可以在分布式文件系统下建立/company目录,放置文件company.xml,里面记录每个集团的编号,假设”某某”集团编号为0001,则在/company目录下建立/company/0001子文件夹,在其下建立/company/0001/136/8194/9589子文件夹,再将/9589子文件夹软连接到/customer/136/8194/9589子文件夹。
删除用户13681949589时,也同时删除掉/company/0001/136/8194/9589子文件夹,如果在删除了/9589子文件夹后,它的父文件夹/8194为空文件夹,就继续删除掉/8194子文件夹;以此类推,如果在删除了/8194子文件夹后,它的父文件夹/136也为空,就继续删除掉/136子文件夹。
遍历分布式文件系统的/company/0001子文件夹下的所有第5级子文件夹,读取第5级子文件夹里的customer.xml进行列表显示,就可以列出同属于一个集团的所有用户。
上述新增功能可以在有实际需求时通过对系统进行升级来添加。由于/company下文件夹最终是通过软连接到/customer目录下的实际文件的,所以升级不会影响到系统工作,仅需要在升级过程中禁止新增/删除用户操作即可。通过类似的方法,可以很容易给系统增加新的功能。
本发明实施例所提供的一种用户数据获取方法另一种具体的应用场景是一个虚拟机池环境,通过该用户数据获取方法向用户提供虚拟机服务,每个用户都有自己的“硬盘”,这里的每个“硬盘”都是以一个单个文件的形式存储的,常见包括但不限于如raw或者qcow2格式等。给用户分配虚拟机时,需要将该“硬盘”文件作为一个块设备配置给虚拟机,这样,虚拟机+用户“硬盘”=用户自己的虚拟机。
应当说明的是,这个特定场景满足我们前面所说仅需要系统能完成新增、更新、删除、获取用户数据这4项操作。
实施例三:
为实现上述实施例中所提供的用户数据获取方法,本实施例还提供了一种用户数据获取装置,如图3所示,用户数据获取装置300包括:
API接口层301,用于接收用户的请求;
执行模块302,用于根据身份识别信息确定用户对应的用户数据文件的文件夹路径;
文件系统303,用于存储根据文件夹路径创建的文件夹及用户数据文件;
获取模块604,用于根据文件夹路径获取用户数据。
为了更清楚的说明本发明实施例所提供的用户数据获取装置,请参见图4-1,图4-1为一种具体的用户数据获取装置的结构示意图。
如图4-1所示,本发明提供了一个API接口层,向管理平台隐藏了新增、更新、删除、获取用户数据等基本操作的具体实现。虚线方框内即是本发明所述系统。它包括API接口层和位于分布式文件系统中的树形用户数据存放结构。
使用本装置的接口调用者,例如图中虚线方框外的所谓“管理平台”,其实并不知道它使用的接口是数据库实现的,还是本发明实施例所提供的用户数据获取装置实现的。
另外,该API接口层还可以根据调用者的需要增加新的功能,也即新增对用户的分类。
相关技术中需要数据库实现的特定功能,而根据本发明实施例提供的用户数据获取装置向上层调用者隐藏了实现细节,有利于上层调用者使用,也便于扩展新功能。
如图4-2和图4-3所示,图4-2为图4-1中分布式文件系统的一种实现方式,该方式直接采用电话号码作为文件夹,图4-3为图4-1中分布式文件系统的另一种实现方式,该方式采用对电话号码进行分割为3个子电话号码,进而按照电话号码的阅读顺序树状排列,在最底层文件夹/9589中存储了用户数据文件。本发明实施例提供的用户数据获取装置利用电话号码构造出了一种不会重复的结构,将用户电话号码变成了文件路径,由于电话号码的唯一性,使得每个用户都拥有自己唯一的个人数据文件夹,在得知用户电话号码的情况下,可以直接定位到这个文件夹,拿到用户数据。这种方法简单快速,无需通过查询数据库去找到用户个人数据的存放位置。
与另一种常见的将用户账号进行hash然后映射为文件路径的方法对比(hash后两用户有几率出现重合),本发明实施例所提供的用户数据获取装置直接将电话号码变成为文件路径是绝无可能出现两用户重合的。
应当注意的是,需要按照约定文件名读取用户数据。另外,推荐将这个结构放置在分布式文件系统中。不过,在很多场景下,在同一时间段,同一个用户的数据只可能被一个虚拟机读写,所以这些场景下即使不是用的分布式文件系统,本方案的效率也仍然是很高的。
实施例四:
本实施例还提供了一种终端,参见图5所示,其包括处理器501、存储器503及通信总线502,其中:
通信总线502用于实现处理器501和存储器503之间的连接通信;
处理器501用于执行存储器503中存储的一个或者多个计算机程序,以实现上述各实施例中的用户数据获取方法中的至少一个步骤。
实施例五:
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述各实施例中的用户数据获取方法的至少一个步骤。
本实施例还提供了一种计算机程序(或称计算机软件),该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现上述各实施例中的事件处理方法的至少一个步骤;并且在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
应当理解的是,在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的计算机程序。本实施例中该计算机可读装置可包括如上所示的计算机可读存储介质。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种用户数据获取方法,应用于用户数据获取装置,所述用户数据获取装置包括API接口层,其特征在于,所述用户数据获取方法包括:
通过所述API接口层接收用户的请求,所述请求包括所述用户的身份识别信息;
根据所述身份识别信息确定获取所述用户对应的用户数据文件在文件系统中的文件夹路径,所述文件夹路径包括至少一个文件夹,所述文件夹的名称包括所述身份识别信息中至少一部分字段,所述文件系统用于存储所述文件夹和所述用户数据文件,所述用户数据文件包括所述用户数据;
根据所述文件夹路径获取所述用户数据。
2.如权利要求1所述的用户数据获取管方法,其特征在于,当所述文件夹路径包括一个文件夹,所述文件夹的名称包括所述身份识别信息中全部字段。
3.如权利要求1所述的用户数据获取方法,其特征在于,当所述文件夹路径包括至少两个文件夹时,所述各件夹的名称与各子身份识别信息一一对应,所述子身份识别信息包括所述身份识别信息按照预设规则进行分割,得到按照预设优先级排序的至少两个子身份识别信息,优先级低的子身份识别信息对应的文件夹为优先级高的子身份识别信息对应的文件夹的下级文件夹。
4.如权利要求1所述的用户数据获取方法,其特征在于,所述根据所述身份识别信息确定所述用户对应的用户数据文件在文件系统中的文件夹路径之后,还包括:
通过所述API接口层接收用户的操作指令;
根据所述操作指令对所述用户数据进行管理。
5.如权利要求4所述的用户数据获取方法,其特征在于,所述操作指令包括删除用户数据,所述根据所述操作指令对所述用户数据文件进行管理包括:
删除所述用户数据文件及所述用户数据文件对应的空文件夹;
所述用户数据文件对应的空文件夹包括所述用户数据文件所在的最底层文件夹、所述最底层文件夹的至少一级上级空文件夹,所述上级空文件夹所包括的用户数据文件数量为0。
6.如权利要求1所述的用户数据获取方法,其特征在于,所述根据所述文件夹路径获取所述用户数据之后,还包括以下至少之一:
所述请求包括新增用户数据文件,则根据所述文件夹路径新增相应的文件夹、对应新增用户数据文件;
根据所述文件夹路径获取不到所述用户数据文件,则根据所述文件夹路径新增相应的文件夹、对应新增用户数据文件。
7.如权利要求1-6任一项所述的用户数据获取方法,其特征在于,所述用户数据管理方法还包括:
对所述用户进行分类,获取各分类的类别标识信息;
将所述类别标识信息作为类别文件夹名称,建立对应的所述类别文件夹;
在所述类别文件夹下建立与文件夹路径相对应的类别子文件夹;
将所述类别子文件夹中的最底层类别子文件夹与对应的所述用户数据文件所在的最底层文件夹进行软链接。
8.一种用户数据获取装置,其特征在于,所述用户数据获取装置包括API接口层、执行模块、文件系统和获取模块;
所述API接口层用于接收用户的请求,所述请求包括所述用户的身份识别信息;
所述执行模块用于确定获取所述用户对应的用户数据文件在文件系统中的文件夹路径,所述文件夹路径包括至少一个文件夹,所述文件夹的名称包括所述身份识别信息中至少一部分字段;
所述文件系统用于存储所述文件夹和所述用户数据文件,所述用户数据文件包括所述用户数据;
所述获取模块用于根据所述文件夹路径获取所述用户数据。
9.一种终端,其特征在于,所述终端包括:处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的一个或者多个计算机程序,以实现如权利要求1至8中任一项所述的用户数据获取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如权利要求1至8中任一项所述的用户获取管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911371680.7A CN113051229A (zh) | 2019-12-26 | 2019-12-26 | 一种用户数据获取方法、装置、终端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911371680.7A CN113051229A (zh) | 2019-12-26 | 2019-12-26 | 一种用户数据获取方法、装置、终端及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113051229A true CN113051229A (zh) | 2021-06-29 |
Family
ID=76505771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911371680.7A Pending CN113051229A (zh) | 2019-12-26 | 2019-12-26 | 一种用户数据获取方法、装置、终端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051229A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866258A (zh) * | 2022-05-16 | 2022-08-05 | 卡奥斯工业智能研究院(青岛)有限公司 | 一种访问关系的建立方法、装置、电子设备及存储介质 |
CN115033910A (zh) * | 2021-11-12 | 2022-09-09 | 荣耀终端有限公司 | 一种访问记录展示方法及电子设备 |
CN115208704A (zh) * | 2022-09-16 | 2022-10-18 | 欣诚信息技术有限公司 | 一种身份认证系统及政法服务应用系统 |
CN115714707A (zh) * | 2022-09-23 | 2023-02-24 | 福建慧舟信息科技有限公司 | 一种基于页面引擎的数据提取方法及系统 |
-
2019
- 2019-12-26 CN CN201911371680.7A patent/CN113051229A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033910A (zh) * | 2021-11-12 | 2022-09-09 | 荣耀终端有限公司 | 一种访问记录展示方法及电子设备 |
CN115033910B (zh) * | 2021-11-12 | 2023-04-07 | 荣耀终端有限公司 | 一种访问记录展示方法及电子设备 |
CN114866258A (zh) * | 2022-05-16 | 2022-08-05 | 卡奥斯工业智能研究院(青岛)有限公司 | 一种访问关系的建立方法、装置、电子设备及存储介质 |
CN115208704A (zh) * | 2022-09-16 | 2022-10-18 | 欣诚信息技术有限公司 | 一种身份认证系统及政法服务应用系统 |
CN115714707A (zh) * | 2022-09-23 | 2023-02-24 | 福建慧舟信息科技有限公司 | 一种基于页面引擎的数据提取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113051229A (zh) | 一种用户数据获取方法、装置、终端及可读存储介质 | |
CN109857724B (zh) | 基于区块链实现支持多种数据库的方法及设备 | |
US11003625B2 (en) | Method and apparatus for operating on file | |
CN105488050B (zh) | 一种数据库多索引方法、装置及系统 | |
US9069788B2 (en) | Truncating data associated with objects in a multi-tenant database | |
CN109271343B (zh) | 一种应用于键值存储系统中的数据合并方法和装置 | |
US6772137B1 (en) | Centralized maintenance and management of objects in a reporting system | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
US10776345B2 (en) | Efficiently updating a secondary index associated with a log-structured merge-tree database | |
US20100146056A1 (en) | Searching An Email System Dumpster | |
US20140067810A1 (en) | Methods and apparatus for partitioning data | |
CN113326264A (zh) | 数据处理方法、服务器及存储介质 | |
US11868328B2 (en) | Multi-record index structure for key-value stores | |
CN110851663B (zh) | 管理元数据的方法和装置 | |
CN116680278B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113553458A (zh) | 图数据库中的数据导出方法及装置 | |
US8949282B1 (en) | Efficient storage of non-searchable attributes | |
CN117493333A (zh) | 数据归档方法、装置、电子设备及存储介质 | |
CN110888863A (zh) | 一种状态字段优化方法、装置、电子设备及存储介质 | |
CN116127154A (zh) | 知识标签推荐方法、装置、电子设备及存储介质 | |
CN109325149B (zh) | Xml报文检索方法及装置 | |
CN113779068A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN110532268B (zh) | 海量数据分库存储的方法、装置、计算机设备及存储介质 | |
CN112148710B (zh) | 微服务分库方法、系统和介质 | |
CN111352918B (zh) | 一种终端数据库数据迁移方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210629 |