CN109614089B - 数据访问代码的自动生成方法、装置、设备及存储介质 - Google Patents

数据访问代码的自动生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109614089B
CN109614089B CN201811648421.XA CN201811648421A CN109614089B CN 109614089 B CN109614089 B CN 109614089B CN 201811648421 A CN201811648421 A CN 201811648421A CN 109614089 B CN109614089 B CN 109614089B
Authority
CN
China
Prior art keywords
data
database
access code
strategy
generating
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
Application number
CN201811648421.XA
Other languages
English (en)
Other versions
CN109614089A (zh
Inventor
高峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201811648421.XA priority Critical patent/CN109614089B/zh
Publication of CN109614089A publication Critical patent/CN109614089A/zh
Application granted granted Critical
Publication of CN109614089B publication Critical patent/CN109614089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本公开实施例中公开了一种数据访问代码的自动生成方法、装置、设备及存储介质。所述方法包括:根据资源配置信息,确定所选择的至少两个数据库系统资源;根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码。采用本公开实施例的技术方案,能够基于应用层业务开发的实际需求,确定对各类资源的调用方案,再基于对各类资源的调用方案生成相应的组合代码,从而提高了最终的组合代码的执行效率。

Description

数据访问代码的自动生成方法、装置、设备及存储介质
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种数据访问代码的自动生成方法、装置、设备及存储介质。
背景技术
随着智能终端的普及,各种类型和功能的应用软件应运而生。为了满足用户的使用需求,越来越多的应用软件支持各种丰富的服务功能,而随着服务功能的不断丰富,在开发应用软件时的代码编写量也变得越来越庞大。
为了更好地帮助应用软件执行各种服务功能,通常需要为应用软件的各服务功能提供相应的代码,以便应用软件可以依据服务功能对应的代码针对数据资源进行处理。目前,基于配置参数的代码自动生成已经存在,在某类需求场景下针对某类资源的处理自动生成代码程序。
在进行本公开的研究过程中,申请人发现,由于管理各类资源的代码程序分别是针对单一资源进行代码生成的,彼此之间没有配合关系,也没有考虑应用层业务功能之间的执行逻辑,后续在将各个代码程序组合实现完整的应用层业务功能时,造成各个代码程序组合的执行效率低的问题。
发明内容
本公开实施例中提供了一种数据访问代码的自动生成方法、装置、设备及存储介质,以根据对各类资源的调用方案生成对应的组合代码,提高组合代码的执行效率。
第一方面,本公开实施例中提供了一种数据访问代码的自动生成方法,所述方法包括:
根据资源配置信息,确定所选择的至少两个数据库系统资源;
根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;
根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码。
第二方面,本公开实施例中还提供了一种数据访问代码的自动生成装置,所述装置包括:
资源确定模块,用于根据资源配置信息,确定所选择的至少两个数据库系统资源;
策略确定模块,用于根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;
代码生成模块,用于根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码。
第三方面,本公开实施例中还提供了一种电子设备,所述电子设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现本公开实施例中任一所述的数据访问代码的自动生成方法。
第四方面,本公开实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开实施例中任一所述的数据访问代码的自动生成方法。
本公开实施例中提供了一种数据访问代码的自动生成方法,包括:根据资源配置信息,确定所选择的至少两个数据库系统资源;根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码。采用本公开实施例的技术方案,能够基于应用层业务开发的实际需求,确定对各类资源的调用方案,再基于对各类资源的调用方案生成相应的组合代码,从而提高了最终的组合代码的执行效率。
上述公开内容仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本公开实施例中提供的一种数据访问代码的自动生成方法的流程示意图;
图2示出了本公开实施例中提供的另一种数据访问代码的自动生成方法的流程示意图;
图3示出了本公开实施例中提供的又一种数据访问代码的自动生成方法的流程示意图;
图4示出了本公开实施例中提供的一种数据访问代码的自动生成装置的结构示意图;
图5示出了本公开实施例中提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作(或步骤)可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1示出了本公开实施例中提供的一种数据访问代码的自动生成方法的流程示意图。本实施例可适用于根据不同的业务需求针对资源的处理自动生成数据访问代码的情况。该方法可以由数据访问代码的自动生成装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于具有网络通信功能的电子设备中。如图1所示,本公开实施例中提供的数据访问代码的自动生成方法可以包括:
S101、根据资源配置信息,确定所选择的至少两个数据库系统资源。
在本实施例中,业务开发者在进行业务程序的开发过程中,可以根据业务程序的业务需求,对业务程序处理的系统资源进行配置。电子设备可以为业务开发者提供资源配置,当业务开发者根据业务的实际需求对需要处理的系统资源进行配置时,业务开发者可以直接向电子设备输入资源配置信息。
示例性的,以业务开发者在共享服务平台上进行业务程序开发为例,共享服务平台上可以配置有至少一个共享服务模块,业务开发者可以根据业务程序的实际需求,向共享服务平台的共享服务模块输入资源配置信息。共享服务平台上可以设置有资源配置界面,业务开发者可以通过资源配置界面向共享服务模块输入需要配置的资源配置信息。
在本实施例中,当业务开发者根据业务需求输入资源配置信息后,数据访问代码的自动生成装置可以接收业务开发者输入的资源配置信息。资源配置信息可以包括:业务开发者选择的至少两个数据库系统资源。从而,在接收业务开发者输入的资源配置信息后,数据访问代码的自动生成装置可以依据接收的资源配置信息确定业务开发者所选择的至少两个数据库系统资源。数据库系统可以理解为各种能够处理磁盘和内存的存储空间,并提供存储空间内数据访问功能接口的系统。数据库系统可以包括:mysql、redis、esplus、和nsq等。在数据库系统中可以针对数据存储空间进行读、写、改、删等数据操作。
S102、根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略。
在本实施例中,在为每一个数据库生成代码的过程中,实质上需要有针对的数据集,数据集中包含的各个数据可以理解为需要处理的数据。鉴于数据集中包含的各个数据的属性、特点以及类型之间可以不完全相同,那么在处理数据集中的不同数据时使用的数据库类型和/或数据库的使用方式可能存在一定的差异,从而可以存在不同的数据集组合策略/或数据处理功能的组合策略。
在本实施例中,数据集组合策略可以是指对一个数据集合对象中的不同类型的数据,组合选择不同的数据库系统。例如,以数据集合对象中包含的第一类数据和第二类数据为例,为第一类数据选择mysql数据库系统,而为第二类数据选择esplus数据库系统的策略,可以理解为是数据集组合策略。通过数据集组合策略可以根据数据集对象中包含的不同类型的数据,为不同的数据选择符合条件的数据库系统。数据处理功能的组合策略可以是指对于第一个数据库系统的数据处理动作,会引发第二个数据库有配合的数据处理动作。
在本实施例中,资源配置信息中除了可以包括业务开发者选择的至少两个数据库系统,还可以包括:数据库系统所需处理数据的约束条件。其中,数据库系统所需处理数据的约束条件可以理解为各个数据库系统在处理数据时只能处理各自约定的数据,例如时间约束、数据属性约束等。可选的,资源配置信息中还可以包括:各数据库系统的可选配置参数。其中,各数据库系统的可选配置参数可以理解为各个数据库系统能够支持的数据类型以及对支持的数据类型的选择。可选的,资源配置信息中还可以包括:数据库系统的可访问存储空间范围。其中,可访问存储空间范围可以是指物理存储空间范围。业务开发者可以通过设置资源配置信息中的参数对数据库系统的可访问存储空间范围进行静态或动态分配,实现各个存储资源相互独立或者实现共享存储资源。
在本实施例中,在确定资源配置信息和业务开发者确定的各个数据库系统之后,数据访问代码的自动生成装置可以依据资源配置信息以及选择的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略。其中,资源配置信息可以包括下述:选择的至少两个数据库系统、数据库系统所需处理数据的约束条件、各数据库系统的可选配置参数以及数据库系统的可访问存储空间范围中的至少一项。
S103、根据数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码。
在本实施例中,数据访问代码可以是指用于实现对资源对象进行访问的代码程序,数据访问代码可以具体结合到需要处理的数据所在位置,以便在对数据进行处理时可以依据数据访问代码调用数据库实现对数据的处理。数据访问代码中可以包括:用于访问资源对象的虚拟访问实体,比如数据库所需的虚拟的client、model访问实体。
在本实施例的一种可选方式中,根据数据集组合策略,生成数据访问代码可以包括:
根据数据集组合策略,为同一数据集合的至少两类数据,确定不同的数据库系统;
为每个数据库系统生成功能访问代码,并在调用功能访问代码的主程序中生成分别基于不同类数据以访问不同数据库系统的调用代码,以及生成在各个数据库系统之间进行数据传递的传递代码。
在本实施方式中,同一数据集合中可以包括至少两类数据,鉴于数据集中包含的各个数据的属性、特点以及类型之间可以不完全相同,那么在处理数据集中的不同数据时使用的数据库有所不同。为此,可以依据数据集组合策略为同一数据集合中不同类型的数据,分配不同的数据库系统。
在本实施方式中,在为同一集合中的不同类型的数据库确定不同的数据库系统后,可以为确定的每一个数据库系统生成功能访问代码。其中,功能访问代码可以具体结合到各个功能函数中需要处理数据的位置,以便在使用功能函数进行数据处理时可以依据功能访问代码调用数据库。示例性,功能访问代码可以是指具有增、删、改、查等基本功能的代码。
在本实施方式中,在调用功能访问代码的主程序中可以识别数据集合中的不同数据,从而生成基于数据集合中的不同数据以访问不同数据库系统的调用代码。其中,访问不同数据库系统的调用代码可以位于调用功能访问代码的主程序中。此外,在为每一个数据库系统生成功能访问代码时,还可以生成在各个数据库系统之间进行数据传递的传递代码。
在本实施方式中,同一数据集合的至少两类数据可以包括:实体内容数据和索引数据。实体内容数据可以理解为“冷数据”,实体内容数据被访问的频率比较低,不会被经常使用;索引数据可以理解为“热数据”,索引数据被访问的频率比较高,会被经常使用。索引数据中可以存储有实体内容数据的物理地址和其物理地址的组成关系。索引数据是“热数据”,会被经常使用,适合将索引数据存储在“读”性能比较好的数据库中,比如可以将索引数据存储在在esplus数据库系统中。实体内容数据是“冷数据”,不会被经常使用,适合将实体内容数据存储在“写”性能比较好的数据库中,比如可以将实体内容数据存储在mysql数据库系统中。
在本实施例的一种可选方式中,根据数据处理功能的组合策略,生成数据访问代码,可以包括:
如果确定的各数据库系统包括缓存数据库和持久存储数据库,则根据数据处理功能的组合策略,生成数据访问代码。
在本实施方式中,数据处理功能的组合策略可以是指对于第一个数据库系统的数据处理动作,会引发第二个数据库有配合的数据处理动作。在采用数据处理功能的组合策略生成数据访问代码时,不同数据库系统针对的数据集合是相同的,但是数据库的组合策略是不相同的。缓存数据库可以是指用于存储缓存数据的数据库,比如可以为redis数据库;持久存储数据库可以是指用于存储持久数据的数据库,比如可以为mysql数据库。
在本实施方式中,数据处理功能的组合策略可以包括:回源策略和缓存策略中的至少一项。回源策略可以是指如果持久数据库中的数据发生改变,那么缓存数据库中的数据也相应的发生改变的策略。缓存策略可以是指在缓存数据库和在持久数据库进行数据查询的方式。
本公开实施例中提供了一种数据访问代码的自动生成方法,包括:根据资源配置信息,确定所选择的至少两个数据库系统资源;根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码。采用本公开实施例的技术方案,能够基于应用层业务开发的实际需求,确定对各类资源的调用方案,再基于对各类资源的调用方案生成相应的组合代码,从而提高了最终的组合代码的执行效率。
图2示出了本公开实施例中提供的另一种数据访问代码的自动生成方法的流程示意图,本公开实施例在上述实施例的基础上进行进一步优化,本公开实施例可以与上述一个或者多个实施例中各个可选方案结合。如图2所示,本公开实施例中提供的数据访问代码的自动生成方法可以包括:
S201、根据资源配置信息,确定所选择的至少两个数据库系统资源;至少两类数据包括:实体内容数据和索引数据。
S202、根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;其中,各数据库系统数据包括:mysql数据库系统和esplus数据库系统。
S203、根据数据集组合策略,为同一数据集合的至少两类数据,确定不同的数据库系统;其中,mysql数据库系统用于存储实体内容数据,esplus数据库系统中用于存储索引数据。
S204、根据数据集组合策略中,为同一数据集合的至少两类数据,确定不同的数据库系统;其中,mysql数据库系统用于存储实体内容数据,esplus数据库系统中用于存储索引数据。
S205、当调用功能访问代码的主程序接收到数据访问请求时,调用esplus数据库系统,根据数据访问请求索引要访问的目标数据。
在本实施例中,当调用功能访问代码的主程序接收到数据访问请求时,可以采用数据访问代码调用esplus数据库系统,并根据数据访问请求从esplus数据库系统存储的索引数据中,索引需要访问的目标数据。
S206、根据目标数据的数据地址,调用mysql数据库系统,读取实体内容数据并进行数据处理。
在本实施例中,在索引到需要访问的目标数据的数据地址后,可以直接调用mysql数据库系统,从mysql数据库系统中读取目标数据的数据地址所对应的实体内容数据,并采用获取的实体内容数据进行数据处理。
图3示出了本公开实施例中提供的又一种数据访问代码的自动生成方法的流程示意图,本公开实施例在上述实施例的基础上进行进一步优化,本公开实施例可以与上述一个或者多个实施例中各个可选方案结合。如图3所示,本公开实施例中提供的数据访问代码的自动生成方法可以包括:
S301、根据资源配置信息,确定所选择的至少两个数据库系统资源。
S302、根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略。
S303、如果确定的各数据库系统包括缓存数据库和持久存储数据库,则根据数据处理功能的组合策略,生成数据访问代码;其中,数据处理功能的组合策略可以包括:回源策略和缓存策略。
S304、当数据处理功能的组合策略为回源策略时,如果检测到持久存储数据库发生数据修改,则同步更改redis或更新redis相应数据的同步存储策略。
在本实施例中,如果检测到持久存储数据库发生数据修改,直接更新redis数据库中的数据。如果检测到持久存储数据库发生数据修改,由redis数据库发起数据的同步更改,以对redis数据库中相应数据进行更改。
S305、当数据处理功能的组合策略为缓存策略时,如果调用功能访问代码的主程序接收到数据访问请求,则访问redis数据库系统进行数据查询。
在本实施例中,在访问redis数据库系统进行数据查询时,如果查到目标数据则向调用功能访问代码的主程序反馈;在访问redis数据库系统进行数据查询时,如果查不到目标数据则访问mysql数据库系统进行查询,并向调用功能访问代码的主程序反馈。
图4示出了本公开实施例中提供的一种数据访问代码的自动生成装置的结构示意图,本实施例可适用于根据不同的业务需求针对资源的处理自动生成数据访问代码的情况。该装置可以采用软件和/或硬件的方式实现,该装置可以配置于具有网络通信功能的电子设备中。如图4所示,本公开实施例中提供的数据访问代码的自动生成装置可以包括:资源确定模块401、策略确定模块402和代码生成模块403。其中:
资源确定模块401,用于根据资源配置信息,确定所选择的至少两个数据库系统资源;
策略确定模块402,用于根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;
代码生成模块403,用于根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码。
在上述实施例的基础上,可选的,所述代码生成模块403可以包括:
确定单元,用于根据数据集组合策略,为同一数据集合的至少两类数据,确定不同的数据库系统;
第一生成单元,用于为每个数据库系统生成功能访问代码,并在调用功能访问代码的主程序中生成分别基于不同类数据以访问不同数据库系统的调用代码,以及生成在各个数据库系统之间进行数据传递的传递代码。
在上述实施例的基础上,可选的,至少两类数据包括:实体内容数据和索引数据。
在上述实施例的基础上,可选的,mysql数据库系统用于存储实体内容数据,esplus数据库系统中用于存储索引数据。
在上述实施例的基础上,可选的,所述装置还可以包括:
第一执行模块404,用于当调用功能访问代码的主程序接收到数据访问请求时,调用esplus数据库系统,根据所述数据访问请求索引要访问的目标数据;
第二执行模块405,用于根据所述目标数据的数据地址,调用mysql数据库系统,读取实体内容数据并进行数据处理。
在上述实施例的基础上,可选的,所述代码生成模块403还可以包括:
第二生成单元,用于如果确定的各数据库系统包括缓存数据库和持久存储数据库,则根据所述数据处理功能的组合策略,生成数据访问代码。
在上述实施例的基础上,可选的,所述组合策略包括回源策略,则所述装置还可以包括:
第三执行模块406,用于如果检测到持久存储数据库发生数据修改,则同步更改redis或更新redis相应数据的同步存储策略。
在上述实施例的基础上,可选的,所述组合策略包括缓存策略,则所述装置还可以包括:
第四执行模块407,用于如果调用功能访问代码的主程序接收到数据访问请求,则访问redis数据库系统进行数据查询;
第一反馈模块408,用于如果查到目标数据则调用功能访问代码的向主程序反馈;
第二反馈模块409,用于如果查不到目标数据则访问mysql数据库系统进行查询,并向调用功能访问代码的主程序反馈。
本公开实施例中所提供的数据访问代码的自动生成装置可执行上述本公开任意实施例中所提供的数据访问代码的自动生成方法,具备执行该数据访问代码的自动生成方法相应的功能和有益效果。
图5示出了本公开实施例中提供的一种电子设备的结构示意图。参考图5,其示出了适于用来实现本公开实施例的电子设备(例如终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例中提供的数据访问代码的自动生成方法的技术方案中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据资源配置信息,确定所选择的至少两个数据库系统资源;根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (11)

1.一种数据访问代码的自动生成方法,其特征在于,所述方法包括:
根据资源配置信息,确定所选择的至少两个数据库系统资源;
根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;
根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码;所述数据处理功能的组合策略包括:回源策略和缓存策略中的至少一项;所述回源策略是指如果持久数据库中的数据发生改变,那么缓存数据库中的数据也相应的发生改变的策略;所述缓存策略是指在缓存数据库和在持久数据库进行数据查询的方式。
2.根据权利要求1所述的方法,其特征在于,根据所述数据集组合策略,生成数据访问代码包括:
根据数据集组合策略,为同一数据集合的至少两类数据,确定不同的数据库系统;
为每个数据库系统生成功能访问代码,并在调用功能访问代码的主程序中生成分别基于不同类数据以访问不同数据库系统的调用代码,以及生成在各个数据库系统之间进行数据传递的传递代码。
3.根据权利要求2所述的方法,其特征在于:至少两类数据包括:实体内容数据和索引数据。
4.根据权利要求3所述的方法,其特征在于:mysql数据库系统用于存储实体内容数据,esplus数据库系统中用于存储索引数据。
5.根据权利要求4所述的方法,其特征在于,在生成数据访问代码之后,还包括:
当调用功能访问代码的主程序接收到数据访问请求时,调用esplus数据库系统,根据所述数据访问请求索引要访问的目标数据;
根据所述目标数据的数据地址,调用mysql数据库系统,读取实体内容数据并进行数据处理。
6.根据权利要求1所述的方法,其特征在于,根据所述数据处理功能的组合策略,生成数据访问代码包括:
如果确定的各数据库系统包括缓存数据库和持久存储数据库,则根据所述数据处理功能的组合策略,生成数据访问代码。
7.根据权利要求6所述的方法,其特征在于,所述组合策略包括回源策略,则在生成数据访问代码之后,还包括:
如果检测到持久存储数据库发生数据修改,则同步更改redis或更新redis相应数据的同步存储策略。
8.根据权利要求6所述的方法,其特征在于,所述组合策略包括缓存策略,则在生成数据访问代码之后,还包括:
如果调用功能访问代码的主程序接收到数据访问请求,则访问redis数据库系统进行数据查询;
如果查到目标数据则向调用功能访问代码的主程序反馈;
如果查不到目标数据则访问mysql数据库系统进行查询,并向调用功能访问代码的主程序反馈。
9.一种数据访问代码的自动生成装置,其特征在于,所述装置包括:
资源确定模块,用于根据资源配置信息,确定所选择的至少两个数据库系统资源;
策略确定模块,用于根据资源配置信息以及确定的各数据库系统,确定数据集组合策略和/或数据处理功能的组合策略;
代码生成模块,用于根据所述数据集组合策略和/或数据处理功能的组合策略,生成数据访问代码;所述数据处理功能的组合策略包括:回源策略和缓存策略中的至少一项;所述回源策略是指如果持久数据库中的数据发生改变,那么缓存数据库中的数据也相应的发生改变的策略;所述缓存策略是指在缓存数据库和在持久数据库进行数据查询的方式。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现权利要求1-8中任一所述的数据访问代码的自动生成方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-8中任一所述的数据访问代码的自动生成方法。
CN201811648421.XA 2018-12-30 2018-12-30 数据访问代码的自动生成方法、装置、设备及存储介质 Active CN109614089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811648421.XA CN109614089B (zh) 2018-12-30 2018-12-30 数据访问代码的自动生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811648421.XA CN109614089B (zh) 2018-12-30 2018-12-30 数据访问代码的自动生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109614089A CN109614089A (zh) 2019-04-12
CN109614089B true CN109614089B (zh) 2022-02-22

Family

ID=66016010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811648421.XA Active CN109614089B (zh) 2018-12-30 2018-12-30 数据访问代码的自动生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109614089B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727442B (zh) * 2019-10-11 2022-07-08 思必驰科技股份有限公司 用于嵌入式平台数据存储优化方法及系统
CN113626071B (zh) * 2021-08-06 2024-04-16 京东城市(北京)数字科技有限公司 函数注册方法、系统、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750145A (zh) * 2012-06-05 2012-10-24 怯肇乾 一种网络系统软件体系框架及其实现方法
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及系统
CN109032590A (zh) * 2018-09-26 2018-12-18 山东鲁能软件技术有限公司 一种可视化开发环境的配置方法、装置、终端及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10768905B2 (en) * 2017-01-31 2020-09-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing schema-driven on-the-fly code generation within a cloud based computing environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750145A (zh) * 2012-06-05 2012-10-24 怯肇乾 一种网络系统软件体系框架及其实现方法
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及系统
CN109032590A (zh) * 2018-09-26 2018-12-18 山东鲁能软件技术有限公司 一种可视化开发环境的配置方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN109614089A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
US10515056B2 (en) API for resource discovery and utilization
CN111581563B (zh) 页面响应方法、装置、存储介质和电子设备
CN110377369B (zh) 一种运行小程序的方法、设备和计算机存储介质
CN111400625B (zh) 页面处理方法、装置、电子设备及计算机可读存储介质
WO2023174013A1 (zh) 显存分配方法、装置、介质及电子设备
CN111857720B (zh) 用户界面状态信息的生成方法、装置、电子设备及介质
CN109614089B (zh) 数据访问代码的自动生成方法、装置、设备及存储介质
CN112115217A (zh) 高精地图的数据处理方法、装置、电子设备及存储介质
CN111400068B (zh) 接口的控制方法、装置、可读介质和电子设备
CN110545313B (zh) 消息推送控制方法、装置及电子设备
CN111241137A (zh) 数据处理方法、装置、电子设备及存储介质
US9860313B2 (en) Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring perioidic synchronization
CN115344688A (zh) 业务数据展示方法、装置、电子设备和计算机可读介质
CN110568976B (zh) 控制应用显示的方法、装置、设备、存储介质
CN114629951A (zh) 地址服务切换方法、装置、计算机设备和存储介质
CN111143355B (zh) 数据处理方法及装置
CN110619079B (zh) 用于推送信息的方法和装置
CN113918659A (zh) 数据操作方法、装置、存储介质及电子设备
CN112131181A (zh) 存储路径的展示方法、装置以及电子设备
CN111787043A (zh) 数据请求方法和装置
CN111240657A (zh) 用于生成sdk的方法、装置和电子设备
CN111459893A (zh) 文件处理方法、装置和电子设备
CN116360710B (zh) 应用于服务器集群的数据存储方法、电子设备和可读介质
CN111831655B (zh) 一种数据处理的方法、装置、介质和电子设备
CN111562913B (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