CN114675872A - 一种对应用程序的数据处理方法、装置、设备及存储介质 - Google Patents

一种对应用程序的数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114675872A
CN114675872A CN202110562863.8A CN202110562863A CN114675872A CN 114675872 A CN114675872 A CN 114675872A CN 202110562863 A CN202110562863 A CN 202110562863A CN 114675872 A CN114675872 A CN 114675872A
Authority
CN
China
Prior art keywords
sub
target
service
database file
services
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
Application number
CN202110562863.8A
Other languages
English (en)
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.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing Beijing 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 Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN202110562863.8A priority Critical patent/CN114675872A/zh
Priority to PCT/CN2021/108730 priority patent/WO2022241947A1/zh
Publication of CN114675872A publication Critical patent/CN114675872A/zh
Priority to US18/299,381 priority patent/US20230289165A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种对应用程序的数据处理方法、装置、设备及计算机可读存储介质。其中方法包括:响应于目标应用程序的调整指令,获取目标应用程序的软件安装包,该软件安装包包括与N个子服务一一对应的N个数据库文件集合,这N个数据库文件集合是从与N个子服务一一对应的N个镜像中获取的,根据N个数据库文件集合中的P个数据库文件集合,将与之对应的P个子服务调整至目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,将P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。可见,通过从N个镜像中获取的N个数据库文件集合可以对应用程序中的多个子服务进行批量调整,进而提高应用程序调整的效率。

Description

一种对应用程序的数据处理方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种对应用程序的数据处理方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的不断发展,网络中涌现出海量的应用程序。在实际应用中,各个应用程序随着时间的推移往往需要进行调整(如更新,或者回滚)来适应当前的需求,例如,开发人员在对程序漏洞进行修复后,需要对程序进行更新;又例如,新版本程序出现重大错误时,需要回滚到上一版本。实践发现,每个应用程序通常包括多个子服务,在对应用程序进行调整时,需要对每个子服务进行逐一调整,效率较低。
发明内容
本申请实施例提供了一种对应用程序的数据处理方法、装置、设备及存储介质,能够较好地提高应用程序调整的效率。
一方面,本申请实施例提供了一种对应用程序的数据处理方法,包括:
响应于目标应用程序的调整指令,获取所述目标应用程序的软件安装包,所述调整指令携带目标版本标识,所述目标应用程序包括N个子服务,所述软件安装包包括与所述N个子服务一一对应的N个数据库文件集合,所述N个数据库文件集合是从与所述N个子服务一一对应的N个镜像中获取的,N为正整数;
根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,P为正整数,且P小于等于N;
将所述P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。
另一方面,本申请实施例还提供了一种对应用程序的数据处理装置,包括:
获取单元,用于响应于目标应用程序的调整指令,获取所述目标应用程序的软件安装包,所述调整指令携带目标版本标识,所述目标应用程序包括N个子服务,所述软件安装包包括与所述N个子服务一一对应的N个数据库文件集合,所述N个数据库文件集合是从与所述N个子服务一一对应的N个镜像中获取的,N为正整数;
处理单元,用于根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,P为正整数,且P小于等于N;以及用于将所述P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。
相应地,本申请实施例还提供了一种智能设备,包括:存储装置和处理器;所述存储装置中存储有计算机程序;处理器,执行计算机程序,实现上述对应用程序的数据处理方法。
相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,上述对应用程序的数据处理方法被实现。
相应地,本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述对应用程序的数据处理方法。
在本申请实施例中,响应于目标应用程序的调整指令,获取目标应用程序的软件安装包,该软件安装包包括与N个子服务一一对应的N个数据库文件集合,这N个数据库文件集合是从与N个子服务一一对应的N个镜像中获取的,根据N个数据库文件集合中的P个数据库文件集合,将与之对应的P个子服务调整至目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,将P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。可见,通过从N个镜像中获取的N个数据库文件集合可以对应用程序中的多个子服务进行批量调整,进而提高应用程序调整的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种对应用程序的数据处理的场景图;
图1b为本申请实施例提供的一种对应用程序的数据处理的架构图;
图2为本申请实施例提供的一种对应用程序的数据处理方法的流程示意图;
图3为本申请实施例提供的另一种对应用程序的数据处理方法的流程示意图;
图4a为本申请实施例提供的一种将目标应用程序的所有子服务升级至目标版本标识所指示的版本的示意图;
图4b为本申请实施例提供的一种将目标应用程序的所有子服务回滚至目标版本标识所指示的版本的示意图;
图5为本申请实施例提供的一种对应用程序的数据处理流程图;
图6为本申请实施例提供的一种对应用程序的数据处理装置的结构示意图;
图7为本申请实施例提供的一种智能设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请涉及区块链和云技术。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。在一些实施例中,应用服务层中的子服务可以通过本申请提供的数据处理方法进行批量调整(更新或回滚),进而提高应用服务层中子服务调整的效率。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用***能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作***)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、***器等。一般来说,SaaS和PaaS相对于IaaS是上层。在一些实施例中,SaaS中的子服务可以通过本申请提供的数据处理方法进行批量调整(更新或回滚),进而提高SaaS中子服务调整的效率。
请参阅图1a,图1a为本申请实施例提供的一种对应用程序的数据处理的场景图。如图1a所示,对应用程序的数据处理的场景中可包括终端设备101和服务器102。其中,终端设备101是用户所使用的设备。终端设备101的数量可以为一个或多个,终端设备101的形态仅用于举例,终端设备101可以包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(Mobile Internet Devices,MID)等设备;终端设备往往配置有显示装置,显示装置也可为显示器、显示屏、触摸屏等等,触摸屏也可为触控屏、触控面板等等,本申请实施例不做限定。
服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。此外,服务器102还可以是区块链网络中的网络节点。终端设备101和服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。在一种实施方式中,用户(如开发人员)可以通过终端设备101向服务器102发送调整指令,以使服务器102根据该调整指令对服务器102中部署的目标应用程序进行调整(如升级或者回滚)。
需要说明的是,图1a所示的应用程序的处理***中终端设备和服务器的数量仅为举例,例如,终端设备和服务器的数量可以为多个,本申请并不对终端设备和服务器的数量进行限定。
在一个实施例中,图1a所示的对应用程序的数据处理的场景图中也可以只包括终端设备101,具体地,用户可以在终端设备101中输入调整指令,以使终端设备101根据该调整指令,对终端设备中的目标应用程序中的子服务进行调整;例如,用户在使用电脑的过程中,通过点击应用程序A的“升级”按钮,来对应用程序A进行升级。
再请参见图1b,图1b为本申请实施例提供的一种对应用程序的数据处理的架构图。本申请实施例的所述方法应用于管理端,管理端为智能设备,该智能设备例如可以是上述提及的某些用户所使用的终端设备,也可以是某些具有特殊功能的服务器。所述方法包括如下步骤:
(1)智能设备(即管理端)响应于目标应用程序的调整指令(例如智能设备检测到用户输入的调整指令),获取所述目标应用程序的软件安装包。
其中,所述调整指令携带目标版本标识(即需要通过软件安装包将目标应用程序的版本调整至目标版本标识所指示的版本),所述目标应用程序包括N个子服务(如验证子服务、支付子服务、多媒体渲染子服务等等),所述软件安装包包括与所述N个子服务一一对应的N个数据库文件集合,所述N个数据库文件集合是从与所述N个子服务一一对应的N个镜像中获取的,N为正整数。镜像与文件压缩包类似,它将特定的一系列文件(如数据库文件)按照一定的格式制作成单一的文件,以便于后续进行使用。
由图1b可知,目标应用程序的安装包可以是由自动化的流水线,对目标应用程序中N个子服务对应的N个镜像以及相关配置文件进行打包后得到的,镜像是由开发人员开发提供的。在一个实施例中,智能设备获取目标应用程序的N个子服务中目标子服务对应的目标镜像;基于所述目标镜像创建目标容器,并通过所述目标容器从所述目标镜像中提取数据库文件,得到所述目标子服务的数据库文件集合;在按照上述操作得到N个子服务的N个数据库文件集合后,将这N个数据库文件集合进行打包得到目标应用程序的软件安装包。其中,容器的作用在于从镜像中获取该镜像中包含的数据库文件。
每个镜像中包括至少一个数据库文件,每个数据库文件的标识中携带有该数据库文件对应的版本标识(如版本号),在一个实施例中,每个数据库文件需要按照预设的语法规则进行命名并存储在指定路径中,以便于智能设备在根据目标应用程序的软件安装包对目标应用程序进行调整时能够识别并获取对应的数据库文件。
(2)根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,P为正整数,且P小于等于N。
当P=N时,即智能设备根据N个数据库文件集合,对目标应用程序所有的子服务(N个子服务)进行调整(如升级至目标版本,或者回滚至目标版本);当P<N时,即智能设备根据P个数据库文件集合对目标应用程序中的P个子服务进行调整;例如,智能设备根据目标应用程序的软件安装包对目标应用程序中支付功能对应的P个子服务进行调整。
由图1b可知,智能设备根据目标应用程序的软件安装包对目标应用程序进行调整的过程包括:数据库文件采集(即从目标应用程序的软件安装包中读取调整所需的数据库文件);子服务初始化信息管理(如在对子服务进行调整前,对相关参数进行配置);子服务数据调整(即根据待调整子服务对应的数据库文件对待调整子服务的数据进行调整);数据库初始化适配器(即根据数据库文件的类型,确定与之匹配的初始化适配器)。
(3)将所述P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。
由图1b可知,智能设备在根据目标应用程序的软件安装包对P个子服务进行批量调整后,将调整后的子服务存储在数据库中,得到调整后的目标应用程序。在一种实施方式中,调整后的子服务中携带有该子服务调整后的数据库版本标识。
在本申请实施例中,响应于目标应用程序的调整指令,获取目标应用程序的软件安装包,该软件安装包包括与N个子服务一一对应的N个数据库文件集合,这N个数据库文件集合是从与N个子服务一一对应的N个镜像中获取的,根据N个数据库文件集合中的P个数据库文件集合,将与之对应的P个子服务调整至目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,将P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。可见,通过从N个镜像中获取的N个数据库文件集合可以对应用程序中的多个子服务进行批量调整,进而提高应用程序调整的效率。
请参阅图2,图2为本申请实施例提供的一种对应用程序的数据处理方法的流程示意图。本申请实施例的所述方法应用于智能设备,该智能设备例如可以是上述提及的某些用户所使用的终端设备,也可以是某些具有特殊功能的服务器。所述方法包括如下步骤。
S201:响应于目标应用程序的调整指令,获取目标应用程序的软件安装包。其中,调整指令携带目标版本标识,目标版本标识用于指示目标应用程序所需要调整至的版本;例如,设目标应用程序的当前版本标识为1.2.1,调整指令携带的目标版本标识为3.0.1,则终端设备根据该调整指令将目标应用程序升级至3.0.1版本;又例如,设目标应用程序的当前版本标识为4.1.1,调整指令携带的目标版本标识为3.0.1,则终端设备根据该调整指令将目标应用程序回滚至3.0.1版本。
目标应用程序包括N个子服务,这N个子服务可以按照划分规则(如按照各个子服务的功能进行划分)为M个子服务集合,M,N为正整数,且M小于等于N。目标应用程序的软件安装包中包括与所述N个子服务一一对应的N个数据库文件集合,这N个数据库文件集合是从与所述N个子服务一一对应的N个镜像中获取的,每个镜像可以包括一个或多个数据库文件,每个数据库文件的标识中携带有该数据库文件对应的版本标识(如版本号),数据库文件用于描述子服务初始化数据库的详细建表等操作内容。
在一个实施例中,每个数据库文件需要按照预设的语法规则进行命名并存储在指定路径中,以便于智能设备在根据目标应用程序的软件安装包对目标应用程序进行调整时能够识别并获取对应的数据库文件。
S202:根据N个数据库文件集合中的P个数据库文件集合,将N个子服务中的P个子服务调整至目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,P为正整数,且P小于等于N。
在一种实施方式中,智能设备根据筛选规则从所述N个子服务中确定出待调整的P个子服务,筛选规则可以是用户根据实际情况制定的;例如,用户需要对整个目标应用程序进行调整,则可以将筛选规则制定为全选;又如,用户需要对目标应用程序中的部分子服务进行调整,则可以根据需要调整的子服务的标识(如子服务的名称、标识号等)制定筛选规则。
在确定出待调整的P个子服务之后,智能设备从目标应用程序的软件安装包,获取所述P个子服务中各个子服务对应的数据库文件集合;其中,每个子服务对应的数据库文件集合包括该子服务下至少一个版本的数据库文件,每个数据库文件是根据该数据库文件所属的版本标识命名的。
在一种实施方式中,智能设备获取目标应用程序的N个子服务中目标子服务对应的目标镜像;基于所述目标镜像创建目标容器,并通过所述目标容器从所述目标镜像中提取数据库文件,得到所述目标子服务的数据库文件集合;在按照上述操作得到N个子服务的N个数据库文件集合后,将这N个数据库文件集合进行打包得到目标应用程序的软件安装包。例如,子服务1与镜像A相对应,设镜像A中包括从版本标识1.0.0至版本标识4.3.1的数据库文件;则智能设备基于镜像A创建容器A,并通过容器A从镜像A中提取(拷贝)出从版本标识1.0.0至版本标识4.3.1的数据库文件,得到子服务1的数据库文件集合,在得到目标应用程序所有子服务的数据库文件集合后,智能设备将这些数据库文件集合进行打包得到目标应用程序的软件安装包。在一个实施例中,在从目标镜像中提取得到数据文件集合后,智能设备会删除掉创建的目标容器,以降低不必要的资源占用。
在从软件安装包中获取P个子服务中各个子服务对应的数据库文件集合后,智能设备根据所述P个子服务中各个子服务对应的数据库文件集合,对所述P个子服务进行调整,得到P个调整后的子服务的数据信息。在一种实施方式中,智能设备根据目标子服务对应的数据库文件集合中数据库文件的类型,确定与之匹配的适配器,并调用该适配器执行目标子服务对应的数据库文件集合中的数据库文件,得到调整后的目标子服务的数据信息。在调整过程中,智能设备首先根据目标子服务的当前版本号和目标版本号,从数据库文件集合中筛选出满足条件的数据库文件,并调用适配器按照目标顺序执行满足条件的数据库文件,来对目标子服务进行调整,得到目标子服务调整后的数据信息;例如,设目标子服务当前的版本标识为2.1.1,目标版本标识为3.0.1,则智能设备从目标子服务对应的数据库文件集合中筛选出从本标识2.1.2至版本标识3.0.1的数据库文件,调用适配器按照从小到大的顺序依次执行从本标识2.1.2至版本标识3.0.1的数据库文件;又例如,设目标子服务当前的版本标识为2.1.1,目标版本标识为1.0.1,则智能设备从目标子服务对应的数据库文件集合中筛选出从本标识1.0.1至版本标识2.1.0的数据库文件,调用适配器按照从大至小的顺序依次执行从本标识2.1.0至版本标识1.0.1的数据库文件。
S203:将P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。在一种实施方式中,数据库中存储有目标应用程序的N个子服务的数据信息,每个子服务的数据信息中携带有该子服务的当前版本标识。当智能设备根据目标应用程序的软件安装包对子服务进行调整后,该子服务的当前版本标识也会随之更新至调整后的版本标识,以便于下次需要对子服务进行调整时,智能设备可以从数据库中获取该子服务当前的版本标识。
在本申请实施例中,响应于目标应用程序的调整指令,获取目标应用程序的软件安装包,该软件安装包包括与N个子服务一一对应的N个数据库文件集合,这N个数据库文件集合是从与N个子服务一一对应的N个镜像中获取的,根据N个数据库文件集合中的P个数据库文件集合,将与之对应的P个子服务调整至目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,将P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。可见,通过与各个子服务对应镜像,可以得到与N个子服务一一对应的N个数据库文件集合,基于这N个数据库文件集合可以对应用程序中的多个子服务进行批量调整,进而提高应用程序调整的效率。
请参阅图3,图3为本申请实施例提供的另一种对应用程序的数据处理方法的流程示意图。本申请实施例的所述方法应用于智能设备,该智能设备例如可以是上述提及的某些用户所使用的终端设备,也可以是某些具有特殊功能的服务器。所述方法包括如下步骤。
S301:响应于目标应用程序的调整指令,获取目标应用程序的软件安装包。目标应用程序包括N个子服务,目标应用程序的软件安装包中包括与N个子服务一一对应的N个数据库文件集合。目标子服务对应的数据库文件集合中可以包括一个或多个(即包括目标子服务下不同版本的数据库文件)数据库文件,每个数据库文件是根据该数据库文件所属的版本标识命名的。
在一种实施方式中,智能设备获取目标应用程序的软件安装包的过程包括:获取与所述N个子服务中目标子服务对应的目标镜像;基于所述目标镜像创建目标容器,并通过所述目标容器从所述目标镜像中提取数据库文件,得到所述目标子服务的数据库文件集合。在一个实施例中,智能设备创建目标容器,并将目标镜像中的数据库文件拷贝至目标容器中,得到目标子服务的数据库文件集合。在得到N个子服务各自对应的N个数据库文件集合后,智能设备将这N个数据库文件集合打包为目标应用程序的软件安装包。
具体地,每个镜像中可以包括多个调整策略(如升级,或者回滚)的数据库文件(如用于进行升级的数据库文件和用于进行回滚的数据库文件);智能设备可以将多个调整策略的数据库文件添加在同一数据库文件集合中,得到N个子服务各自对应的N个数据库文件集合。也可以根据调整策略,将不同调整策略的数据库文件添加在不同的数据库文件集合中;例如,将用于进行升级的数据库文件添加在升级数据库文件集合中,将用于进行回滚的数据库文件添加在回滚数据库文件集合中;进一步地,将N个子服务各自对应的N个升级数据库文件集合打包在升级软件安装包中,将N个子服务各自对应的N个回滚数据库文件集合打包在回滚软件安装包中。
在另一种实施方式中,所述N个子服务属于M个服务类型,M为正整数,且M小于等于N;所述目标应用程序的软件安装包是根据所述M个服务类型对所述N个数据库文件集合进行分类封装后得到的。也就是说,目标应用程序的软件安装包在对N个数据库文件集合进行打包的过程中,会对这N个数据库文件集合进行预处理(如预先进行分类,或者排序),相较于直接将N个数据库文件集合存放在一个文件夹中,对N个数据库文件集合进行预处理可以使得智能设备在根据目标应用程序的软件安装包对目标应用程序进行调整时能更高效的获取所需的数据库文件集合。
在一个实施例中,设目标应用程序中的各个子服务在部署时是按照排序规则进行部署的,又或者各个子服务对应有一个序列号;则在对目标应用程序的软件安装包进行打包的过程中,可以按照排序规则或者序列号对数据库文件集合进行排序打包;可以理解的是,智能设备可以根据排序规则或者序列号快速从目标应用程序的软件安装包获取所需的数据库文件集合,无需每次在需要获取数据库文件集合时对目标应用程序的软件安装包中的数据库文件集合进行遍历搜索,提高了目标应用程序的调整效率,同时也有效地节省了计算机资源。
在再一个实施例中,在对N个数据库文件集合进行打包的过程中,将属于不同功能的数据库文件存放在不同的目录下,使得智能设备在根据目标应用程序的软件安装包对目标应用程序进行调整时能快速的获取所需的数据库文件。
需要说明的是,目标应用程序所对应的软件安装包是在执行调整指令前,预先完成打包并放置在智能设备上的(如存储在存储器中);在一个实施例中,在需要将目标应用程序中的一个或多个子服务升级至更高版本时,需要预约通过流水线对升级所需要用到的数据库文件集合进行打包,并将打包得到的软件安装包放置在智能设备上;例如,设用户需要将应用程序1从版本1.0升级至版本2.1,则在输入调整指令前,需要通过流水线对应用程序1中各个子服务从版本1.0至版本2.1的数据库文件集合进行打包,并将打包得到的软件安装包放置在智能设备上。
S302:根据筛选规则从N个子服务中确定出待调整的P个子服务。筛选规则可以是用户根据实际情况制定的;例如,用户需要对整个目标应用程序进行调整,则可以将筛选规则制定为全选(即对目标应用程序进行全量(所有的子服务)调整);又如,用户需要对目标应用程序中的部分子服务进行调整,则可以根据需要调整的子服务的标识(如子服务的名称、标识号等)制定筛选规则(如只调整名称中携带目标字段的子服务,或者只调整标识号小于目标标识号的子服务)。
S303:根据目标子服务对应的数据库文件集合中数据库文件的类型,确定与目标子服务对应的数据库文件集合相匹配的适配器。所述目标子服务可以是根据所述筛选规则从所述N个子服务中确定出的待调整的P个子服务中的任一个子服务。数据库文件的类型可以包括但不限于:MySQL类型,TDSQL类型。
在实际部署过程中,可能会遇到导入的数据库文件的类型不同而需要执行的数据库操作语句不同的情况。例如,MySQL数据库与TDSQL数据库存在一定的差异,针对数据库存在差异的场景,智能设备可以将数据库文件的文件标识(如文件名)进行适当修改。例如,设在MySQL数据库中,初始化数据库文件的文件标识为“init_x.x.x.sql”,则为了适配TDSQL数据库,这能设备可以将初始化数据库文件的文件标识修改为“tdsql_init_x.x.x.sql”即可。用户在对目标应用程序进行调整时,指定目标应用程序的软件安装包中数据库文件的类型,智能设备即可按照上述语法规则,找到该数据库文件的类型下所有的数据库文件,并根据这些数据库文件对目标应用程序进行调整。
S304:通过与目标子服务对应的数据库文件集合相匹配的适配器对目标子服务进行调整,得到目标子服务调整后的数据信息。在一种实施方式中,智能设备根据目标子服务的当前版本标识和所述目标版本标识,确定版本标识区间;例如,设子服务1的当前版本标识为2.1.1,目标版本标识为3.0.1,则智能设备根据子服务1的当前版本标识2.1.1和目标版本标识3.0.1,将版本标识区间确定为2.1.2至3.0.1;同理,设子服务1的当前版本标识为2.1.1,目标版本标识为1.2.1,则智能设备根据子服务1的当前版本标识2.1.1和目标版本标识1.2.1,将版本标识区间确定为1.2.1至2.1.0。
在确定版本标识区间后,智能调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述目标子服务对应的数据库文件集合中至少一个数据库文件,得到所述目标子服务调整后的数据信息,所述至少一个数据库文件的版本标识属于所述版本标识区间;例如,设版本标识区间为1.2.1至2.1.0,目标子服务对应的数据库文件集合中包括:版本标识为1.0.1的数据库文件,版本标识为1.3.1的数据库文件,版本标识为2.0.1的数据库文件,版本标识为2.1.2的数据库文件和版本标识为3.2.1的数据库文件;则智能调用与目标子服务对应的数据库文件集合相匹配的适配器,执行版本标识为1.3.1的数据库文件和版本标识为2.0.1的数据库文件,得到目标子服务调整后的数据信息。
在一个实施例中,目标子服务对应的数据库文件集合中包括多个属于所述版本标识区间的数据库文件;智能设备调用与所述目标子服务对应的数据库文件集合相匹配的适配器,按照目标顺序依次执行所述目标子服务对应的数据库文件集合中属于所述版本标识区间的数据库文件,得到所述目标子服务调整后的数据信息;所述目标顺序是根据所述目标子服务的调整策略确定的,所述目标子服务的调整策略是根据所述目标子服务的当前版本标识与所述目标版本标识确定的。具体地,调整策略包括升级与回滚,若目标子服务的当前版本标识小于目标版本标识,则智能设备将调整策略为升级,与升级对应的目标顺序为由小到大;若目标子服务的当前版本标识大于目标版本标识,则智能设备将调整策略为回滚,与回滚对应的目标顺序为由大到小。在实际应用中,用于升级的数据库文件中不允许使用drop或delete语句。
例如,设目标子服务当前的版本标识为2.1.1,目标版本标识为3.0.1,则智能设备将目标子服务的调整策略确定为升级;智能设备从目标子服务对应的数据库文件集合中筛选出从本标识2.1.2至版本标识3.0.1的数据库文件,调用适配器按照从小到大的顺序依次执行从本标识2.1.2至版本标识3.0.1的数据库文件;又例如,设目标子服务当前的版本标识为2.1.1,目标版本标识为1.0.1,则智能设备将目标子服务的调整策略确定为回滚;智能设备从目标子服务对应的数据库文件集合中筛选出从本标识1.0.1至版本标识2.1.0的数据库文件,调用适配器按照从大至小的顺序依次执行从本标识2.1.0至版本标识1.0.1的数据库文件。
在另一个实施例中,每个数据库文件的标识中携带有调整类型字段;智能设备根据所述目标子服务的当前版本标识和所述目标版本标识,确定调整策略。具体地,智能设备根据所述目标子服务的当前版本标识和所述目标版本标识,确定目标字段,目标字段用于指示调整策略。具体地,若目标子服务的当前版本标识小于目标版本标识,则智能设备将第一字段(如“init”字段)确定为目标字段;若目标子服务的当前版本标识大于目标版本标识,则智能设备将第二字段(如“undo”字段)确定为目标字段。需要说明的是,本申请中的第一字段和第二字段仅用于举例,并不构成本申请的实际限定,例如,第一字段还可以是“create”,第二字段还可以是“delete”。
通过所述调整策略从所述目标子服务对应的数据库文件集合中,筛选出待执行数据库文件,所述待执行数据库文件的调整类型字段与所述调整策略相匹配;具体地,智能设备根据所述目标字段从所述目标子服务对应的数据库文件集合中,筛选出文件标识中携带所述目标字段,且版本标识属于所述版本标识区间的数据库文件,并将这些数据库文件确定为待执行数据库文件;例如,设版本标识区间确定为1.2.1至2.1.0,目标字段为“init”,子服务1对应的数据库文件集合中包括的数据库文件为:init_1.0.1.sql、init_1.2.3.sql、init_2.0.1.sql、init_3.0.1.sql、undo_1.0.2.sql、undo_1.3.1.sql、undo_2.2.3.sql、undo_3.1.3.sql;则智能设备将数据库文件init_1.2.3.sql和init_2.0.1.sql确定为待执行的数据库文件。
进一步地,智能设备调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述待执行数据库文件,得到所述目标子服务调整后的数据信息。
在实际应用中,若智能设备检测到当前存在对数据库进行调整的操作(如初始化数据库),则统一将数据库文件存放在镜像的指定目录中;例如,将数据库文件统一存放在/usr/local/services/sql目录下,并将数据库文件的文件后缀名统一为“.sql”。进一步地,可以通过对数据库文件的标识(如命名)进行规范,来提高目标应用程序在调整过程中的稳定性。在一个实施例中,用于进行升级的数据库文件可以命名为:init_版本号.sql;例如,init_2.5.0.sql。用于进行回滚的数据库文件可以命名为:undo_版本号.sql;例如,undo_2.5.0.sql。需要说明的是,文件命名只是一种方便认知和使用的一种方式,该方案对于命名方式不限于一种。例如,还可以使用create_x.sql,delete_x.sql进行命名。
图4a为本申请实施例提供的一种将目标应用程序的所有子服务升级至目标版本标识所指示的版本的示意图。若智能设备中已经部署了某个版本,且调整指令中携带的目标版本的标识大于部署版本(即当前版本),则可以按照如图4a所示的方式升级:智能设备找到每个子服务对应的数据库文件集合,目标子服务的数据库文件集合中,包括了目标子服务的部署版本与目标版本之间所有的携带“init”字段的数据库文件,然后智能设备调用与数据库文件的类型相匹配的适配器,按照数据库文件的版本标识的序号从小到大的顺序执行目标子服务的数据库文件集合中在目标子服务的部署版本与目标版本之间所有的携带“init”字段的数据库文件,得到目标子服务调整后的数据信息。
如图4a所示,设调整指令指示将目标应用程序从1.0.0版本调整至2.0.0版本,目标应用程序包括子服务A和子服务B,子服务A对应的数据库文件集合中,调整类型字段为“init”,且版本标识属于版本标识区间1.0.0到2.0.0的数据文件为:init_1.0.1.sql、init_1.5.1.sql和init_1.5.3.sql三个数据库文件,智能设备调用与数据库文件的类型相匹配的适配器,按照init_1.0.1.sql—>init_1.5.1.sql—>init_1.5.3.sql的顺序,将子服务A升级至目标版本标识所指示的版本;同理,子服务B对应的数据库文件集合中,调整类型字段为“init”,且版本标识属于版本标识区间1.0.0到2.0.0的数据文件为:init_1.0.1.sql、init_1.5.1.sql和init_1.8.0.sql三个数据库文件,智能设备调用与数据库文件的类型相匹配的适配器,按照init_1.0.1.sql—>init_1.5.1.sql—>init_1.8.0.sql的顺序,将子服务B升级至目标版本标识所指示的版本,类似地,智能设备可以在各个子服务的容器中将所有的子服务均升级至目标版本标识所指示的版本。
图4b为本申请实施例提供的一种将目标应用程序的所有子服务回滚至目标版本标识所指示的版本的示意图。若智能设备中已经部署了某个版本,且调整指令中携带的目标版本的标识小于部署版本(即当前版本),则可以按照如图4b所示的方式回滚:智能设备找到每个子服务对应的数据库文件集合,目标子服务的数据库文件集合中,包括了目标子服务的部署版本与目标版本之间所有的携带“undo”字段的数据库文件,然后智能设备调用与数据库文件的类型相匹配的适配器,按照数据库文件的版本标识的序号从大到小的顺序执行目标子服务的数据库文件集合中在目标子服务的部署版本与目标版本之间所有的携带“undo”字段的数据库文件,得到目标子服务调整后的数据信息。
如图4b所示,设调整指令指示将目标应用程序从2.0.0版本调整至1.0.0版本,目标应用程序包括子服务A和子服务B,子服务A对应的数据库文件集合中,调整类型字段为“undo”,且版本标识属于版本标识区间1.0.0到2.0.0的数据文件为:undo_1.0.1.sql、undo_1.5.1.sql和undo_1.5.3.sql三个数据库文件,智能设备调用与数据库文件的类型相匹配的适配器,按照undo_1.5.3.sql—>init_1.5.1.sql—>init_1.0.1.sql的顺序,将子服务A回滚至目标版本标识所指示的版本;同理,子服务B对应的数据库文件集合中,调整类型字段为“undo”,且版本标识属于版本标识区间1.0.0到2.0.0的数据文件为:undo_1.0.1.sql、undo_1.5.1.sql和undo_1.8.0.sql三个数据库文件,智能设备调用与数据库文件的类型相匹配的适配器,按照undo_1.8.0.sql—>init_1.5.1.sql—>init_1.0.1.sql的顺序,将子服务B回滚至目标版本标识所指示的版本,类似地,智能设备可以在各个子服务的容器中将所有的子服务均回滚至目标版本标识所指示的版本。
可以理解的是,对于目标应用程序中某些功能模块希望单独升级的场景,用户可以通过配置子服务的标识(如名称)与子服务的版本标识(如版本号)来指定需要进行调整的子服务,智能设备会按照上述调整策略,对这用户所指定的子服务单独进行调整,而不影响其他子服务。
在一种实施方式中,所述P个子服务中,每个子服务的数据信息中均携带有当前版本标识;进一步地,响应于所述P个子服务调整成功;将所述P个子服务的当前版本标识替换为所述目标版本标识,得到P个调整后的子服务的数据信息;例如,子服务1调整前的数据信息中,版本标识为1.2.1,目标版本标识为2.0.1,则响应于子服务1调整成功,智能设备将子服务1的数据信息中的版本标识更新为2.0.1。
S305:将P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。步骤S305的具体实施方式可参考图2中步骤S203的实施方式,在此不再赘述。
图5为本申请实施例提供的一种对应用程序的数据处理流程图。下面结合图1b和图5对本申请实施例提供的一种对应用程序的数据处理方法进行完整介绍:(1)智能设备通过解压目标应用程序的软件安装包,拆分得到目标应用程序中每个子服务的数据库文件集合,目标应用程序中每个子服务的数据库文件集合是通过创建容器从目标应用程序中每个子服务的镜像中获取的,智能设备根据调整指令遍历各个数据库文件集合中的数据库文件,以得到符合要求的数据库文件。(2)智能设备根据数据库文件的类型选择与数据库文件的类型相匹配的初始化适配器。不同的数据库文件对应不同的适配器(例如MySQL适配器和TDSQL适配器),此外,智能设备还会根据数据库文件的类型做一些相关的适配操作(如语法转换)。(3)智能设备调用初始化适配器按照版本号序列大小,在容器中执行每个子服务的数据库文件集合中的数据库文件(在升级时按照由小到大的顺序执行,在回滚时按照由大到小的顺序执行);在一些实施例中,数据库文件集合中的数据库文件是根据用户指定的筛选规则筛选得到的。(4)每个子服务均会在数据库中存储当前已经部署的版本号,当智能设备检测到调整成功时,将当前已经部署的版本号更新至目标版本标识所指示的版本号,以便于后续在对目标应用程序进行调整时,与调整指令中携带的版本号进行比对。
本申请实施例在图2实施例的基础上,智能设备通过创建容器从目标应用程序中各个子服务对应的镜像中获取各个子服务对应的数据库文件集合,可以使得每个子服务均只操作自己的数据库与表,不同子服务均互不干涉,以便于对目标应用程序中的多个子服务进行批量调整(即对数据库进行集中化管理,可以批量的升级或者回滚数据库);通过在软件安装包的打包过程中对数据库文件集合进行预处理(命名、排序),可以进一步提高目标应用程序调整的效率;通过选择不同的适配器,可以适配不同类型的数据库文件,提高了普适性。此外,子服务开发者只需按照规范提供服务容器镜像即可,无需提供额外的内容。而容器镜像本身就是容器化部署所需内容,改造成本低,侵入性低。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图6,图6为本申请实施例提供的一种对应用程序的数据处理装置的结构示意图,该装置可以搭载在图1a所示的终端设备101,或者服务器102上。图6所示的对应用程序的数据处理装置可以用于执行上述图2和图3所描述的方法实施例中的部分或全部功能。其中,各个单元的详细描述如下:
获取单元601,用于响应于目标应用程序的调整指令,获取所述目标应用程序的软件安装包,所述调整指令携带目标版本标识,所述目标应用程序包括N个子服务,所述软件安装包包括与所述N个子服务一一对应的N个数据库文件集合,所述N个数据库文件集合是从与所述N个子服务一一对应的N个镜像中获取的,N为正整数;
处理单元602,用于根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,P为正整数,且P小于等于N;以及用于将所述P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。
在一个实施例中,所述处理单元602,具体用于:
获取与所述N个子服务中目标子服务对应的目标镜像;
基于所述目标镜像创建目标容器,并通过所述目标容器从所述目标镜像中提取数据库文件,得到所述目标子服务的数据库文件集合,所述目标子服务的数据库文件集合包括:所述目标子服务下不同版本的数据库文件,所述目标子服务的数据库文件集合中的数据库文件是根据该数据库文件所属的版本标识命名的;
根据所述目标子服务的数据库文件集合,生成所述目标应用程序的软件安装包。
在一个实施例中,所述处理单元602,具体用于:
根据筛选规则从N个子服务中确定出待调整的P个子服务;
根据目标子服务对应的数据库文件集合中数据库文件的类型,确定与所述目标子服务对应的数据库文件集合相匹配的适配器,所述目标子服务是根据所述筛选规则从所述N个子服务中确定出的待调整的P个子服务中的任一个子服务;
通过与所述目标子服务对应的数据库文件集合相匹配的适配器对所述目标子服务进行调整,得到所述目标子服务调整后的数据信息。
在一个实施例中,每个镜像中包括至少一个数据库文件,所述至少一个数据库文件中的各个数据库文件携带有对应的数据库的标识;所述处理单元602,具体用于:
根据所述目标子服务的当前版本标识和所述目标版本标识,确定版本标识区间;
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述目标子服务对应的数据库文件集合中至少一个数据库文件,得到所述目标子服务调整后的数据信息,所述至少一个数据库文件的版本标识属于所述版本标识区间。
在一个实施例中,所述目标子服务对应的数据库文件集合中包括多个属于所述版本标识区间的数据库文件;所述处理单元602,具体用于:
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,按照目标顺序依次执行所述目标子服务对应的数据库文件集合中属于所述版本标识区间的数据库文件,得到所述目标子服务调整后的数据信息;
所述目标顺序是根据所述目标子服务的调整策略确定的,所述目标子服务的调整策略是根据所述目标子服务的当前版本标识与所述目标版本标识确定的。
在一个实施例中,每个数据库文件的标识中携带有调整类型字段;所述处理单元602,具体用于:
根据所述目标子服务的当前版本标识和所述目标版本标识,确定调整策略;
通过所述调整策略从所述目标子服务对应的数据库文件集合中,筛选出待执行数据库文件,所述待执行数据库文件的调整类型字段与所述调整策略相匹配;
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述待执行数据库文件,得到所述目标子服务调整后的数据信息。
在一个实施例中,所述P个子服务中,每个子服务的数据信息中均携带有当前版本标识;所述处理单元602,具体用于:
响应于所述P个子服务调整成功;
将所述P个子服务的当前版本标识替换为所述目标版本标识,得到P个调整后的子服务的数据信息。
在一个实施例中,所述N个子服务属于M个服务类型,M为正整数,且M小于等于N;所述目标应用程序的软件安装包是根据所述M个服务类型对所述N个数据库文件集合进行分类封装后得到的。
根据本申请的一个实施例,图2和图3所示的对应用程序的数据处理方法所涉及的部分步骤可由图6所示的对应用程序的数据处理装置中的各个单元来执行。例如,图2中所示的步骤S201可由图6所示的获取单元601执行,步骤S202和步骤S203可由图6所示的处理单元602执行。图3中所示的步骤S301可由图6所示的获取单元601执行,步骤S302-步骤S305可由图6所示的处理单元602执行。图6所示的对应用程序的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,对应用程序的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行如图2和图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的对应用程序的数据处理装置,以及来实现本申请实施例的对应用程序的数据处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的对应用程序的数据处理装置解决问题的原理与有益效果与本申请方法实施例中对应用程序的数据处理装置解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参阅图7,图7为本申请实施例提供的一种智能设备的结构示意图,所述智能设备至少包括处理器701、通信接口702和存储器703。其中,处理器701、通信接口702和存储器703可通过总线或其他方式连接。其中,处理器701(或称中央处理器(Central ProcessingUnit,CPU))是终端的计算核心以及控制核心,其可以解析终端内的各类指令以及处理终端的各类数据,例如:CPU可以用于解析用户向终端所发送的开关机指令,并控制终端进行开关机操作;再如:CPU可以在终端内部结构之间传输各类交互数据,等等。通信接口702可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器701的控制可以用于收发数据;通信接口702还可以用于终端内部数据的传输以及交互。存储器703(Memory)是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器703既可以包括终端的内置存储器,当然也可以包括终端所支持的扩展存储器。存储器703提供存储空间,该存储空间存储了终端的操作***,可包括但不限于:Android***、iOS***、Windows Phone***等等,本申请对此并不作限定。
在本申请实施例中,处理器701通过运行存储器703中的可执行程序代码,用于执行如下操作:
响应于目标应用程序的调整指令,通过通信接口702获取所述目标应用程序的软件安装包,所述调整指令携带目标版本标识,所述目标应用程序包括N个子服务,所述软件安装包包括与所述N个子服务一一对应的N个数据库文件集合,所述N个数据库文件集合是从与所述N个子服务一一对应的N个镜像中获取的,N为正整数;
根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,P为正整数,且P小于等于N;
将所述P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。
作为一种可选的实施例,处理器701获取所述目标应用程序的软件安装包的具体实施例为:
获取与所述N个子服务中目标子服务对应的目标镜像;
基于所述目标镜像创建目标容器,并通过所述目标容器从所述目标镜像中提取数据库文件,得到所述目标子服务的数据库文件集合,所述目标子服务的数据库文件集合包括:所述目标子服务下不同版本的数据库文件,所述目标子服务的数据库文件集合中的数据库文件是根据该数据库文件所属的版本标识命名的;
根据所述目标子服务的数据库文件集合,生成所述目标应用程序的软件安装包。
作为一种可选的实施例,处理器701根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本的具体实施例为:
根据筛选规则从N个子服务中确定出待调整的P个子服务;
根据目标子服务对应的数据库文件集合中数据库文件的类型,确定与所述目标子服务对应的数据库文件集合相匹配的适配器,所述目标子服务是根据所述筛选规则从所述N个子服务中确定出的待调整的P个子服务中的任一个子服务;
通过与所述目标子服务对应的数据库文件集合相匹配的适配器对所述目标子服务进行调整,得到所述目标子服务调整后的数据信息。
作为一种可选的实施例,每个镜像中包括至少一个数据库文件,所述至少一个数据库文件中的各个数据库文件携带有对应的数据库的标识;处理器701通过与所述目标子服务对应的数据库文件集合相匹配的适配器对所述目标子服务进行调整,得到所述目标子服务调整后的数据信息的具体实施例为:
根据所述目标子服务的当前版本标识和所述目标版本标识,确定版本标识区间;
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述目标子服务对应的数据库文件集合中至少一个数据库文件,得到所述目标子服务调整后的数据信息,所述至少一个数据库文件的版本标识属于所述版本标识区间。
作为一种可选的实施例,所述目标子服务对应的数据库文件集合中包括多个属于所述版本标识区间的数据库文件;处理器701调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述目标子服务对应的数据库文件集合中至少一个数据库文件,得到所述目标子服务调整后的数据信息的具体实施例为:
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,按照目标顺序依次执行所述目标子服务对应的数据库文件集合中属于所述版本标识区间的数据库文件,得到所述目标子服务调整后的数据信息;
所述目标顺序是根据所述目标子服务的调整策略确定的,所述目标子服务的调整策略是根据所述目标子服务的当前版本标识与所述目标版本标识确定的。
作为一种可选的实施例,每个数据库文件的标识中携带有调整类型字段;处理器701调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述目标子服务对应的数据库文件集合中至少一个数据库文件,得到所述目标子服务调整后的数据信息的具体实施例为:
根据所述目标子服务的当前版本标识和所述目标版本标识,确定调整策略;
通过所述调整策略从所述目标子服务对应的数据库文件集合中,筛选出待执行数据库文件,所述待执行数据库文件的调整类型字段与所述调整策略相匹配;
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述待执行数据库文件,得到所述目标子服务调整后的数据信息。
作为一种可选的实施例,所述P个子服务中,每个子服务的数据信息中均携带有当前版本标识;处理器701根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息的具体实施例为:
响应于所述P个子服务调整成功;
将所述P个子服务的当前版本标识替换为所述目标版本标识,得到P个调整后的子服务的数据信息。
作为一种可选的实施例,所述N个子服务属于M个服务类型,M为正整数,且M小于等于N;所述目标应用程序的软件安装包是根据所述M个服务类型对所述N个数据库文件集合进行分类封装后得到的。
基于同一发明构思,本申请实施例中提供的智能设备解决问题的原理与有益效果与本申请方法实施例中对应用程序的数据处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行上述方法实施例所述的对应用程序的数据处理方法。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例所述的对应用程序的数据处理方法。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述对应用程序的数据处理的方法。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (11)

1.一种对应用程序的数据处理方法,其特征在于,包括:
响应于目标应用程序的调整指令,获取所述目标应用程序的软件安装包,所述调整指令携带目标版本标识,所述目标应用程序包括N个子服务,所述软件安装包包括与所述N个子服务一一对应的N个数据库文件集合,所述N个数据库文件集合是从与所述N个子服务一一对应的N个镜像中获取的,N为正整数;
根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,P为正整数,且P小于等于N;
将所述P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。
2.如权利要求1所述的方法,其特征在于,所述获取所述目标应用程序的软件安装包,包括:
获取与所述N个子服务中目标子服务对应的目标镜像;
基于所述目标镜像创建目标容器,并通过所述目标容器从所述目标镜像中提取数据库文件,得到所述目标子服务的数据库文件集合,所述目标子服务的数据库文件集合包括:所述目标子服务下不同版本的数据库文件,所述目标子服务的数据库文件集合中的数据库文件是根据该数据库文件所属的版本标识命名的;
根据所述目标子服务的数据库文件集合,生成所述目标应用程序的软件安装包。
3.如权利要求1所述的方法,其特征在于,所述根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,包括:
根据筛选规则从N个子服务中确定出待调整的P个子服务;
根据目标子服务对应的数据库文件集合中数据库文件的类型,确定与所述目标子服务对应的数据库文件集合相匹配的适配器,所述目标子服务是根据所述筛选规则从所述N个子服务中确定出的待调整的P个子服务中的任一个子服务;
通过与所述目标子服务对应的数据库文件集合相匹配的适配器对所述目标子服务进行调整,得到所述目标子服务调整后的数据信息。
4.如权利要求3所述的方法,其特征在于,每个镜像中包括至少一个数据库文件,所述至少一个数据库文件中的各个数据库文件携带有对应的数据库的标识;所述通过与所述目标子服务对应的数据库文件集合相匹配的适配器对所述目标子服务进行调整,得到所述目标子服务调整后的数据信息,包括:
根据所述目标子服务的当前版本标识和所述目标版本标识,确定版本标识区间;
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述目标子服务对应的数据库文件集合中至少一个数据库文件,得到所述目标子服务调整后的数据信息,所述至少一个数据库文件的版本标识属于所述版本标识区间。
5.如权利要求4所述的方法,其特征在于,所述目标子服务对应的数据库文件集合中包括多个属于所述版本标识区间的数据库文件;所述调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述目标子服务对应的数据库文件集合中至少一个数据库文件,得到所述目标子服务调整后的数据信息,包括:
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,按照目标顺序依次执行所述目标子服务对应的数据库文件集合中属于所述版本标识区间的数据库文件,得到所述目标子服务调整后的数据信息;
所述目标顺序是根据所述目标子服务的调整策略确定的,所述目标子服务的调整策略是根据所述目标子服务的当前版本标识与所述目标版本标识确定的。
6.如权利要求4所述的方法,其特征在于,每个数据库文件的标识中携带有调整类型字段;所述调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述目标子服务对应的数据库文件集合中至少一个数据库文件,得到所述目标子服务调整后的数据信息,包括:
根据所述目标子服务的当前版本标识和所述目标版本标识,确定调整策略;
通过所述调整策略从所述目标子服务对应的数据库文件集合中,筛选出待执行数据库文件,所述待执行数据库文件的调整类型字段与所述调整策略相匹配;
调用与所述目标子服务对应的数据库文件集合相匹配的适配器,执行所述待执行数据库文件,得到所述目标子服务调整后的数据信息。
7.如权利要求1所述的方法,其特征在于,所述P个子服务中,每个子服务的数据信息中均携带有当前版本标识;所述根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,包括:
响应于所述P个子服务调整成功;
将所述P个子服务的当前版本标识替换为所述目标版本标识,得到P个调整后的子服务的数据信息。
8.如权利要求1所述的方法,其特征在于,所述N个子服务属于M个服务类型,M为正整数,且M小于等于N;所述目标应用程序的软件安装包是根据所述M个服务类型对所述N个数据库文件集合进行分类封装后得到的。
9.一种对应用程序的数据处理装置,其特征在于,包括:
获取单元,用于响应于目标应用程序的调整指令,获取所述目标应用程序的软件安装包,所述调整指令携带目标版本标识,所述目标应用程序包括N个子服务,所述软件安装包包括与所述N个子服务一一对应的N个数据库文件集合,所述N个数据库文件集合是从与所述N个子服务一一对应的N个镜像中获取的,N为正整数;
处理单元,用于根据所述N个数据库文件集合中的P个数据库文件集合,将所述N个子服务中的P个子服务调整至所述目标版本标识所指示的版本,得到P个调整后的子服务的数据信息,P为正整数,且P小于等于N;以及用于将所述P个调整后的子服务的数据信息存储至数据库中,得到调整后的目标应用程序。
10.一种智能设备,其特征在于,包括:存储装置和处理器;
所述存储装置中存储有计算机程序;
处理器,执行计算机程序,实现如权利要求1-8任一项所述的对应用程序的数据处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,如权利要求1-8任一项所述的对应用程序的数据处理方法被实现。
CN202110562863.8A 2021-02-05 2021-05-21 一种对应用程序的数据处理方法、装置、设备及存储介质 Pending CN114675872A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110562863.8A CN114675872A (zh) 2021-05-21 2021-05-21 一种对应用程序的数据处理方法、装置、设备及存储介质
PCT/CN2021/108730 WO2022241947A1 (zh) 2021-05-21 2021-07-27 一种对应用程序的数据处理方法、装置、设备及存储介质
US18/299,381 US20230289165A1 (en) 2021-02-05 2023-04-12 Data processing method and apparatus for application, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110562863.8A CN114675872A (zh) 2021-05-21 2021-05-21 一种对应用程序的数据处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114675872A true CN114675872A (zh) 2022-06-28

Family

ID=82070556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110562863.8A Pending CN114675872A (zh) 2021-02-05 2021-05-21 一种对应用程序的数据处理方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20230289165A1 (zh)
CN (1) CN114675872A (zh)
WO (1) WO2022241947A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116560756A (zh) * 2023-07-12 2023-08-08 鹏城实验室 服务编排方法、电子设备、计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023881B (zh) * 2010-12-14 2013-06-05 福建星网锐捷网络有限公司 一种软件升级方法、装置及嵌入式设备
CN111857762A (zh) * 2019-04-30 2020-10-30 戴尔产品有限公司 微服务更新***
CN110231948B (zh) * 2019-06-10 2024-02-13 腾讯科技(成都)有限公司 应用程序方法、装置、***、存储介质和计算机设备
US11023227B2 (en) * 2019-08-27 2021-06-01 Sap Se Time-dependent activation of configuration content
CN112702373B (zh) * 2019-10-23 2023-12-08 中兴通讯股份有限公司 微服务升级文件发送方法、接收方法、设备及存储介质
CN111813601B (zh) * 2020-07-09 2023-08-08 中国工商银行股份有限公司 有状态分布式集群的微服务回滚方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116560756A (zh) * 2023-07-12 2023-08-08 鹏城实验室 服务编排方法、电子设备、计算机可读存储介质
CN116560756B (zh) * 2023-07-12 2024-04-16 鹏城实验室 服务编排方法、电子设备、计算机可读存储介质

Also Published As

Publication number Publication date
US20230289165A1 (en) 2023-09-14
WO2022241947A1 (zh) 2022-11-24

Similar Documents

Publication Publication Date Title
US11032140B2 (en) Using a template to update a stack of resources
CN111182025B (zh) 一种报文处理方法、装置、服务器及存储介质
CN113748685A (zh) 基于网络的媒体处理控制
CN109725952B (zh) 一种应用程序插件化的方法、***以及相关装置
CN102819461A (zh) 桌面同步方法、装置、设备及***
CN111124617B (zh) 区块链***的创建方法和装置、存储介质及电子装置
CN105205174A (zh) 用于分布式***的文件处理方法和装置
CN103716346A (zh) 一种安卓手机客户端上应用的管理方法和装置
CN111651219A (zh) 一种多模块项目配置文件管理的方法及设备
CN114238237A (zh) 任务处理方法、装置、电子设备和计算机可读存储介质
CN115525396A (zh) 基于云原生的应用管理方法及装置
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN114996134A (zh) 容器化部署方法、电子设备及存储介质
CN117112122A (zh) 一种集群部署方法和装置
CN114489690A (zh) 一种分布式***部署方法、装置、电子设备及存储介质
CN112243016A (zh) 一种中间件平台、终端设备、5g人工智能云处理***及处理方法
US20230289165A1 (en) Data processing method and apparatus for application, device, and storage medium
CN114327846A (zh) 集群的扩容方法、装置、电子设备及计算机可读存储介质
CN103425707A (zh) 数据分析方法和装置
CN113132445A (zh) 资源调度方法、设备、网络***及存储介质
CN114363307B (zh) 信息处理方法以及***
CN112433812B (zh) 一种虚拟机跨集群迁移方法、***、设备及计算机介质
CN114296953B (zh) 一种多云异构***及任务处理方法
CN113271229B (zh) 设备控制方法及装置、存储设备、安全设备、交换机、路由器及服务器
CN114928840B (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