数据访问方法与装置制造方法

文档序号:6493660阅读:108来源:国知局
数据访问方法与装置制造方法
【专利摘要】本发明提供了一种数据访问方法与装置,其中,数据访问方法包括:根据数据定义获取用户数据的关键字,其中,所述数据定义定义了某业务的用户数据对应的关键字和所述业务的配置文件对应的关键字,其中,同一业务的用户数据对应的关键字与该业务的配置文件对应的关键字相同;根据所述用户数据的关键字获取用户数据,生成用户数据树;按照所述关键字,对所述用户数据树和/或所述配置文件进行访问。通过本发明,实现了用户数据和配置数据进行统一访问和管理。
【专利说明】数据访问方法与装置
【技术领域】
[0001]本发明涉及客户端应用【技术领域】,特别是涉及一种数据访问方法与装置。
【背景技术】
[0002]客户端应用是部署在客户端的实现特定功能的软件,如阿里旺旺、QQ、杀毒软件等等。客户端应用一般由各个复杂的业务组合而成,如更换软件界面外观业务的流程包括:访问相关服务器、提供各种外观、根据用户选择推送相关外观数据、记录用户选择等等。
[0003]客户端应用的每个业务都有配置数据的依赖和用户数据的产生,目前对配置数据和用户数据的处理办法主要有:方法一、配置数据存储在各个业务的配置文件中,每个业务都自己存取和解析数据,用户数据和配置数据各自管理;方法二、用户数据和配置数据都借助第三方数据库存储。上述方法中,方法一对客户端应用的配置数据编辑操作简单灵活,但会出现配置文件众多而且散乱,使得配置数据难于维护和管理;同时每个业务都得去操作磁盘文件和解析数据,使得编写的解析配置数据软件的代码杂乱,同时执行效率低下;方法二的配置数据虽然已经集中管理,有了统一的数据解析,但由于用户数据和配置数据存储在一个数据库文件中,因此编辑配置数据操作复杂,且配置数据后期有更改时,无法及时的更新到客户端的机器上。
[0004]因此,现有的数据处理方法当每个业务都去解析和存取自身的数据时,数据会零舌L而且效率低下,无法快速地把数据清晰和高效的管理起来,从而导致无法提高软件开发过程中的效率。

【发明内容】

[0005]本发明提供了一种数据访问方法与装置,以解决现有的数据处理方案效率低下,无法快速地把数据清晰和高效的管理起来的问题。
[0006]为了解决上述问题,本发明公开了一种数据访问方法,包括:根据数据定义获取用户数据的关键字,其中,所述数据定义定义了某业务的用户数据对应的关键字和所述业务的配置文件对应的关键字,其中,同一业务的用户数据对应的关键字与该业务的配置文件对应的关键字相同;根据所述用户数据的关键字获取用户数据,生成用户数据树;按照所述关键字,对所述用户数据树和/或所述配置文件进行访问。
[0007]优选地,所述根据所述用户数据的关键字获取用户数据,生成用户数据树的步骤包括:对所述用户数据的关键字进行解析,根据所述关键字中的分隔符依次将所述关键字解析为一至多级关键字;其中,若所述关键字解析为一级关键字,则所述一级关键字为父关键字;若所述关键字解析为多级关键字,则所述多级关键字包括最高级别的父关键字和一个或多个按照级别高低排序的子关键字,其中,一个级别的关键字对应的用户数据包括本级别的用户数据和低于本级别的关键字对应的用户数据;确定各级关键字对应的用户数据,按照所述各级关键字的级别生成所述用户数据的用户数据树。
[0008]优选地,所述按照所述关键字,对所述用户数据树和/或所述配置文件进行访问的步骤包括:当对所述用户数据树和/或所述配置文件进行读取访问时,根据所述关键字判断是否存在对应的用户数据树;若存在,则判断所述用户数据树的父关键字结点下是否存在子关键字结点;若不存在所述子关键字结点,则返回所述父关键字结点对应的用户数据;若存在所述子关键字结点,则确定待访问的子关键字结点,返回所述待访问的子关键字结点对应的用户数据;若不存在对应的用户数据树,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据。
[0009]优选地,所述配置文件对应的关键字按照所述关键字中的分隔符分为一至多级关键字,其中,若所述关键字分为一级关键字,则所述一级关键字为父关键字;若所述关键字分为多级关键字,则所述多级关键字包括最闻级别的父关键字和一个或多个按照级别闻低排序的子关键字;所述配置文件中的配置数据按照所述一至多级关键字对应存储,其中,一个级别的关键字对应的配置数据包括本级别的配置数据和低于本级别的关键字对应的配置数据;所述根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据的步骤包括:判断所述父关键字下是否存在所述子关键字;若不存在所述子关键字,则返回所述父关键字对应的配置数据;若存在所述子关键字,则确定待访问的子关键字,返回所述待访问的子关键字对应的配置数据。
[0010]优选地,所述若不存在对应的用户数据树,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据的步骤包括:若不存在对应的用户数据树,则判断缓存中是否存在所述关键字对应的配置数据;若存在,则返回所述配置数据;若不存在,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据,并将所述配置数据加入所述缓存中。
[0011]优选地,所述按照所述关键字,对所述用户数据树和/或所述配置文件进行访问的步骤包括:当对所述用户数据树进行写入访问时,根据所述关键字判断是否存在对应的用户数据树;若存在,则判断所述用户数据树的父关键字结点下是否存在子关键字结点;若不存在所述子关键字结点,则在所述父关键字结点写入数据;若存在所述子关键字结点,则确定待写入的子关键字结点,在所述待写入的子关键字结点写入数据;若不存在对应的用户数据树,则根据所述关键字和所述关键字对应的用户数据生成对应的用户数据树,确定待写入的关键字结点并写入数据。
[0012]优选地,所述数据定义还定义了所述各个业务的用户数据使用的数据库和所述数据库的路径,以及,所述各个业务的配置文件的存放路径和格式;所述根据所述用户数据的关键字获取用户数据,生成用户数据树的步骤包括:根据所述用户数据的关键字确定所述用户数据使用的数据库和所述数据库的路径;按照所述数据库的路径,访问所述数据库获取所述用户数据,生成所述用户数据树;所述按照所述关键字,对所述配置文件进行访问的步骤包括:按照所述关键字,确定所述配置文件的存放路径和格式;根据所述存放路径,调用与所述配置文件的格式相匹配的文件打开所述配置文件,对所述配置文件进行访问。
[0013]为了解决上述问题,本发明还公开了一种数据访问装置,包括:获取模块,用于根据数据定义获取用户数据的关键字,其中,所述数据定义定义了某业务的用户数据对应的关键字和所述业务的配置文件对应的关键字,其中,同一业务的用户数据对应的关键字与该业务的配置文件对应的关键字相同;生成模块,用于根据所述用户数据的关键字获取用户数据,生成用户数据树;访问模块,用于按照所述关键字,对所述用户数据树和/或所述配置文件进行访问。
[0014]优选地,所述生成模块,用于对所述用户数据的关键字进行解析,根据所述关键字中的分隔符依次将所述关键字解析为一至多级关键字;其中,若所述关键字解析为一级关键字,则所述一级关键字为父关键字;若所述关键字解析为多级关键字,则所述多级关键字包括最高级别的父关键字和一个或多个按照级别高低排序的子关键字,其中,一个级别的关键字对应的用户数据包括本级别的用户数据和低于本级别的关键字对应的用户数据;确定各级关键字对应的用户数据,按照所述各级关键字的级别生成所述用户数据的用户数据树。
[0015]优选地,所述访问模块,用于当对所述用户数据树和/或所述配置文件进行读取访问时,根据所述关键字判断是否存在对应的用户数据树;若存在,则判断所述用户数据树的父关键字结点下是否存在子关键字结点;若不存在所述子关键字结点,则返回所述父关键字结点对应的用户数据;若存在所述子关键字结点,则确定待访问的子关键字结点,返回所述待访问的子关键字结点对应的用户数据;若不存在对应的用户数据树,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据。
[0016]优选地,所述配置文件对应的关键字按照所述关键字中的分隔符分为一至多级关键字,其中,若所述关键字分为一级关键字,则所述一级关键字为父关键字;若所述关键字分为多级关键字,则所述多级关键字包括最闻级别的父关键字和一个或多个按照级别闻低排序的子关键字;所述配置文件中的配置数据按照所述一至多级关键字对应存储,其中,一个级别的关键字对应的配置数据包括本级别的配置数据和低于本级别的关键字对应的配置数据;所述访问模块在根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据时,判断所述父关键字下是否存在所述子关键字;若不存在所述子关键字,则返回所述父关键字对应的配置数据;若存在所述子关键字,则确定待访问的子关键字,返回所述待访问的子关键字对应的配置数据。
[0017]优选地,所述访问模块在若不存在对应的用户数据树,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据时,若不存在对应的用户数据树,则判断缓存中是否存在所述关键字对应的配置数据;若存在,则返回所述配置数据;若不存在,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据,并将所述配置数据加入所述缓存中。
[0018]优选地,所述访问模块,用于当对所述用户数据树进行写入访问时,根据所述关键字判断是否存在对应的用户数据树;若存在,则判断所述用户数据树的父关键字结点下是否存在子关键字结点;若不存在所述子关键字结点,则在所述父关键字结点写入数据;若存在所述子关键字结点,则确定待写入的子关键字结点,在所述待写入的子关键字结点写入数据;若不存在对应的用户数据树,则根据所述关键字和所述关键字对应的用户数据生成对应的用户数据树,确定待写入的关键字结点并写入数据。
[0019]优选地,所述数据定义还定义了所述各个业务的用户数据使用的数据库和所述数据库的路径,以及,所述各个业务的配置文件的存放路径和格式;
[0020]所述生成模块,用于根据所述用户数据的关键字确定所述用户数据使用的数据库和所述数据库的路径;按照所述数据库的路径,访问所述数据库获取所述用户数据,生成所述用户数据树;所述访问模块在按照所述关键字,对所述配置文件进行访问时,按照所述关键字,确定所述配置文件的存放路径和格式;根据所述存放路径,调用与所述配置文件的格式相匹配的文件打开所述配置文件,对所述配置文件进行访问。
[0021]与现有技术相比,本发明具有以下优点:
[0022]本发明提供了一种用户数据和配置数据统一管理和访问的方案,该方案通过数据定义预先设定各用户数据和各配置文件的关键字,其中,同一业务的用户数据和配置文件的关键字相同且唯一,进而,该方案使用设定好的关键字获取相应的用户数据,生成用户数据树;然后,利用关键字统一访问用户数据和配置数据。使用关键字对用户数据和配置数据进行统一访问和管理,使得数据访问和管理简单明了 ;通过数据定义,能快速地将本发明的数据访问方案集成到各种客户端应用当中,且能实现配置文件编辑操作简单灵活,及时更新客户端应用。
【专利附图】

【附图说明】
[0023]图1是根据本发明实施例的一种系统数据结构图;
[0024]图2是根据本发明实施例一的一种数据访问方法的步骤流程图;
[0025]图3是根据本发明实施例二的一种数据访问方法的步骤流程图;
[0026]图4是根据本发明实施例三的一种数据读取方法的步骤流程图;
[0027]图5是根据本发明实施例四的一种数据写入方法的步骤流程图;
[0028]图6是根据本发明实施例五的一种数据访问装置的结构框图。
【具体实施方式】
[0029]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0030]为便于理解本发明的数据访问方案,首先对本发明的系统数据结构作以说明。如图1所示,本发明的系统包括数据定义、配置文件如软件配置数据包、用户数据三个结构。其中,数据定义至少定义了各个业务的用户数据对应的关键字和各个业务的配置文件对应的关键字,并且,同一业务的用户数据对应的关键字与该业务的配置文件对应的关键字相同。如,对于更改外观业务,则该业务对应的用户数据和配置文件使用相同的关键字。客户端应用可以根据该数据定义所定义好的关键字统一对用户数据和/或配置文件进行访问。[0031 ] 以下以实施例对本发明的数据访问方案进行说明。
[0032]实施例一
[0033]参照图2,示出了根据本发明实施例一的一种数据访问方法的步骤流程图。
[0034]本实施例的数据访问方法包括以下步骤:
[0035]步骤S102:根据数据定义获取用户数据的关键字。
[0036]其中,数据定义定义(也可以理解为设定)了某个业务的用户数据对应的关键字和所述业务的配置文件对应的关键字,其中,同一业务的用户数据对应的关键字与该业务的配置文件对应的关键字相同。
[0037]业务通常是指软件的各个具体的功能,比如:即时通讯软件中的自动回复功能、安全域名的检查功能、换界面皮肤功能;一个业务的用户数据可以包括客户编辑的自动回复内容,客户选择的某个皮肤等数据;配置文件中包括有哪些域名是安全的域名,界面皮肤有几种等数据。
[0038]步骤S104:根据用户数据的关键字获取用户数据,生成用户数据树。
[0039]步骤S106:按照所述关键字,对用户数据树和/或配置文件进行访问。
[0040]例如,当要访问更改外观业务的用户数据时,先获取数据定义中所定义的更改外观业务的用户数据对应的关键字;然后,根据该关键字到相应的数据库中获取用户数据,进而生成用户数据树;因用户数据树依据关键字生成,因此,可以再根据该关键字确定待访问的用户数据树中的结点,进行访问;若对用户数据树访问失败,可以再根据该关键字访问配置文件,进而获取相应的数据。当然,在只需要配置数据时,也可以根据该关键字,只对配置文件进行访问。
[0041]通过本实施例,提供了一种用户数据和配置数据统一管理和访问的方案,该方案通过数据定义预先设定各用户数据和各配置文件的关键字,其中,同一业务的用户数据和配置文件的关键字相同且唯一,进而,该方案使用设定好的关键字获取相应的用户数据,生成用户数据树;然后,利用关键字统一访问用户数据和配置数据。使用关键字对用户数据和配置数据进行统一访问和管理,使得数据访问和管理简单明了 ;通过数据定义,能快速地将本发明的数据访问方案集成到各种客户端应用当中,且能实现配置文件编辑操作简单灵活,及时更新客户端应用。
[0042]实施例二
[0043]参照图3,示出了根据本发明实施例二的一种数据访问方法的步骤流程图。
[0044]本实施例的数据访问方法包括以下步骤:
[0045]步骤S202:进行数据定义。
[0046]本步骤中,数据定义定义了各个业务的用户数据对应的关键字和各个业务的配置文件对应的关键字,其中,同一业务的用户数据对应的关键字与该业务的配置文件对应的关键字相同。数据定义定义的某种业务的用户数据对应的关键字和该业务的配置文件对应的关键字如下:
[0047]
【权利要求】
1.一种数据访问方法,其特征在于,包括: 根据数据定义获取用户数据的关键字,其中,所述数据定义定义了某业务的用户数据对应的关键字和所述业务的配置文件对应的关键字,其中,同一业务的用户数据对应的关键字与该业务的配置文件对应的关键字相同; 根据所述用户数据的关键字获取用户数据,生成用户数据树; 按照所述关键字,对所述用户数据树和/或所述配置文件进行访问。
2.根据权利要求1所述的方法,其特征在于,所述根据所述用户数据的关键字获取用户数据,生成用户数据树的步骤包括: 对所述用户数据的关键字进行解析,根据所述关键字中的分隔符依次将所述关键字解析为一至多级关键字;其中,若所述关键字解析为一级关键字,则所述一级关键字为父关键字;若所述关键字解析为多级关键字,则所述多级关键字包括最高级别的父关键字和一个或多个按照级别高低排序的子关键字,其中,一个级别的关键字对应的用户数据包括本级别的用户数据和低于本级别的关键字对应的用户数据; 确定各级关键字对应的用户数据,按照所述各级关键字的级别生成所述用户数据的用户数据树。
3.根据权利要求2所述的方法,其特征在于,所述按照所述关键字,对所述用户数据树和/或所述配置文件进行访问的步骤包括: 当对所述用户数据树和/或所述配置 文件进行读取访问时,根据所述关键字判断是否存在对应的用户数据树; 若存在,则判断所述用户数据树的父关键字结点下是否存在子关键字结点;若不存在所述子关键字结点,则返回所述父关键字结点对应的用户数据;若存在所述子关键字结点,则确定待访问的子关键字结点,返回所述待访问的子关键字结点对应的用户数据; 若不存在对应的用户数据树,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据。
4.根据权利要求3所述的方法,其特征在于,所述配置文件对应的关键字按照所述关键字中的分隔符分为一至多级关键字,其中,若所述关键字分为一级关键字,则所述一级关键字为父关键字;若所述关键字分为多级关键字,则所述多级关键字包括最高级别的父关键字和一个或多个按照级别高低排序的子关键字;所述配置文件中的配置数据按照所述一至多级关键字对应存储,其中,一个级别的关键字对应的配置数据包括本级别的配置数据和低于本级别的关键字对应的配置数据; 所述根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据的步骤包括:判断所述父关键字下是否存在所述子关键字;若不存在所述子关键字,则返回所述父关键字对应的配置数据;若存在所述子关键字,则确定待访问的子关键字,返回所述待访问的子关键字对应的配置数据。
5.根据权利要求4所述的方法,其特征在于,所述若不存在对应的用户数据树,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据的步骤包括: 若不存在对应的用户数据树,则判断缓存中是否存在所述关键字对应的配置数据; 若存在,则返回所述配置数据; 若不存在,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据,并将所述配置数据加入所述缓存中。
6.根据权利要求2所述的方法,其特征在于,所述按照所述关键字,对所述用户数据树和/或所述配置文件进行访问的步骤包括: 当对所述用户数据树进行写入访问时,根据所述关键字判断是否存在对应的用户数据树; 若存在,则判断所述用户数据树的父关键字结点下是否存在子关键字结点;若不存在所述子关键字结点,则在所述父关键字结点写入数据;若存在所述子关键字结点,则确定待与入的子关键字结点,在所述待与入的子关键字结点与入数据; 若不存在对应的用户数据树,则根据所述关键字和所述关键字对应的用户数据生成对应的用户数据树,确定待写入的关键字结点并写入数据。
7.根据权利要求1所述的方法,其特征在于,所述数据定义还定义了所述各个业务的用户数据使用的数据库和所述数据库的路径,以及,所述各个业务的配置文件的存放路径和格式; 所述根据所述用户数据的关键字获取用户数据,生成用户数据树的步骤包括:根据所述用户数据的关键字确定所述用户数据使用的数据库和所述数据库的路径;按照所述数据库的路径,访问所述数据库获取所述用户数据,生成所述用户数据树; 所述按照所述关键字,对所述配置文件进行访问的步骤包括:按照所述关键字,确定所述配置文件的存放路径和格式;根据所述存放路径,调用与所述配置文件的格式相匹配的文件打开所述配置文件,对所述配置文件进行访问。
8.一种数据访问装置,其特征在于,包括: 获取模块,用于根据数据定义获取用户数据的关键字,其中,所述数据定义定义了某业务的用户数据对应的关键字和所述业务的配置文件对应的关键字,其中,同一业务的用户数据对应的关键字与该业务的配置文件对应的关键字相同; 生成模块,用于根据所述用户数据的关键字获取用户数据,生成用户数据树; 访问模块,用于按照所述关键字,对所述用户数据树和/或所述配置文件进行访问。
9.根据权利要求8所述的装置,其特征在于,所述生成模块,用于对所述用户数据的关键字进行解析,根据所述关键字中的分隔符依次将所述关键字解析为一至多级关键字;其中,若所述关键字解析为一级关键字,则所述一级关键字为父关键字;若所述关键字解析为多级关键字,则所述多级关键字包括最闻级别的父关键字和一个或多个按照级别闻低排序的子关键字,其中,一个级别的关键字对应的用户数据包括本级别的用户数据和低于本级别的关键字对应的用户数据;确定各级关键字对应的用户数据,按照所述各级关键字的级别生成所述用户数据的用户数据树。
10.根据权利要求9所述的装置,其特征在于,所述访问模块,用于当对所述用户数据树和/或所述配置文件进行读取访问时,根据所述关键字判断是否存在对应的用户数据树;若存在,则判断所述用户数据树的父关键字结点下是否存在子关键字结点;若不存在所述子关键字结点,则返回所述父关键字结点对应的用户数据;若存在所述子关键字结点,则确定待访问的子关键字结点,返回所述待访问的子关键字结点对应的用户数据;若不存在对应的用户数据 树,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据。
11.根据权利要求10所述的装置,其特征在于,所述配置文件对应的关键字按照所述关键字中的分隔符分为一至多级关键字,其中,若所述关键字分为一级关键字,则所述一级关键字为父关键字;若所述关键字分为多级关键字,则所述多级关键字包括最高级别的父关键字和一个或多个按照级别高低排序的子关键字;所述配置文件中的配置数据按照所述一至多级关键字对应存储,其中,一个级别的关键字对应的配置数据包括本级别的配置数据和低于本级别的关键字对应的配置数据; 所述访问模块在根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据时,判断所述父关键字下是否存在所述子关键字;若不存在所述子关键字,则返回所述父关键字对应的配置数据;若存在所述子关键字,则确定待访问的子关键字,返回所述待访问的子关键字对应的配置数据。
12.根据权利要求11所述的装置,其特征在于,所述访问模块在若不存在对应的用户数据树,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据时,若不存在对应的用户数据树,则判断缓存中是否存在所述关键字对应的配置数据;若存在,则返回所述配置数据;若不存在,则根据所述关键字访问所述配置文件,返回所述配置文件中的配置数据,并将所述配置数据加入所述缓存中。
13.根据权利要求9所述的装置,其特征在于,所述访问模块,用于当对所述用户数据树进行写入访问时,根据所述关键字判断是否存在对应的用户数据树;若存在,则判断所述用户数据树的父关键字结点下是否存在子关键字结点;若不存在所述子关键字结点,则在所述父关键字结点写入数据;若存在所述子关键字结点,则确定待写入的子关键字结点,在所述待写入的子关键字结点写入数据;若不存在对应的用户数据树,则根据所述关键字和所述关键字对应的用户数 据生成对应的用户数据树,确定待写入的关键字结点并写入数据。
14.根据权利要求8所述的装置,其特征在于,所述数据定义还定义了所述各个业务的用户数据使用的数据库和所述数据库的路径,以及,所述各个业务的配置文件的存放路径和格式; 所述生成模块,用于根据所述用户数据的关键字确定所述用户数据使用的数据库和所述数据库的路径;按照所述数据库的路径,访问所述数据库获取所述用户数据,生成所述用户数据树; 所述访问模块在按照所述关键字,对所述配置文件进行访问时,按照所述关键字,确定所述配置文件的存放路径和格式;根据所述存放路径,调用与所述配置文件的格式相匹配的文件打开所述配置文件,对所述配置文件进行访问。
【文档编号】G06F17/30GK103902554SQ201210573013
【公开日】2014年7月2日 申请日期:2012年12月25日 优先权日:2012年12月25日
【发明者】罗晓霞 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1