CN114168110A - 轻量级鸿蒙操作系统的应用开发事务管理系统及方法 - Google Patents

轻量级鸿蒙操作系统的应用开发事务管理系统及方法 Download PDF

Info

Publication number
CN114168110A
CN114168110A CN202111440848.2A CN202111440848A CN114168110A CN 114168110 A CN114168110 A CN 114168110A CN 202111440848 A CN202111440848 A CN 202111440848A CN 114168110 A CN114168110 A CN 114168110A
Authority
CN
China
Prior art keywords
transaction
module
class
application development
transaction management
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.)
Granted
Application number
CN202111440848.2A
Other languages
English (en)
Other versions
CN114168110B (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202111440848.2A priority Critical patent/CN114168110B/zh
Publication of CN114168110A publication Critical patent/CN114168110A/zh
Application granted granted Critical
Publication of CN114168110B publication Critical patent/CN114168110B/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/20Software design
    • G06F8/24Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种轻量级鸿蒙操作系统的应用开发事务管理系统及方法,涉及鸿蒙操作系统的应用开发事务管理领域,通过创建动态代理对象和事务管理,帮助鸿蒙操作系统应用开发者从复杂的程序逻辑中分离出事务的管理,避免重复撰写事务控制代码,提高鸿蒙应用程序开发效率。

Description

轻量级鸿蒙操作系统的应用开发事务管理系统及方法
技术领域
本发明涉及鸿蒙操作系统的应用开发事务管理领域,具体涉及一种轻量级鸿蒙操作系统的应用开发事务管理系统及方法。
背景技术
鸿蒙操作系统(OpenHarmony)是国内新一代智能终端操作系统,在未来拥有广阔的发展前景。随着鸿蒙操作系统的普及和推广,与其相关的应用开发将实现爆炸式的增长。鸿蒙操作系统应用的开发过程会涉及到大量数据的存取业务,为保证逻辑上的一组操作的各个单元要么全都成功,要么全都失败就会用到事务的管理。对于一个业务丰富的应用将会用到很多事务管理。在应用的开发过程中,开发者面对规模庞大的事务管理往往显得束手无策,需要花费大量的精力来管理应用开发过程中的事务控制,最终导致开发效率缓慢。
发明内容
本发明的目的在于提供一种轻量级鸿蒙操作系统的应用开发事务管理系统及方法,帮助鸿蒙操作系统应用开发者从复杂的程序逻辑中分离出事务的管理,避免重复撰写事务控制代码,提高鸿蒙应用程序开发效率,以解决上述背景技术中提出的问题。
为实现上述目的,本发明采用如下技术方案:
一方面,本发明提供一种轻量级鸿蒙操作系统的应用开发事务管理系统,所述系统包括:
Core核心模块,为基础模块,设置有核心工具类,所述核心工具类包括配置文件解析类、注解解析类、动态代理创建类、数据库连接获取类、连接容器创建工具类及将连接注册到容器中工具类;
Proxy代理模块,为事务增强模块,用于为开发者写的业务类创建动态代理对象,在动态代理对象中增加事务控制的代码实现事务自动化控制;
TransactionSynchronizationManager模块,为事务同步模块,用于获取数据库连接并进行同步管理;
TransactionManager模块,构建于Core核心模块、Proxy代理模块和TransactionSynchronizationManager模块之上,用于为开发者提供所述应用开发事务管理系统的事务管理,包括事务开启、事务提交和事务回滚,其中当业务中存在多条数据存取操作时进行所述事务开启,当多条存取业务同时成功时进行所述事务提交,当出现任何一条业务操作失败或业务操作异常时进行所述事务回滚。
可选地,所述Proxy代理模块创建动态代理对象,以开发者在业务类的目标方法上加事务注解为前提条件,再基于反射机制解析所述业务类的目标方法上的所述事务注解,根据解析的结果为业务类创建动态代理对象,在所述动态代理对象中对目标方法的前后实施事务业务的自动化控制。
可选地,所述TransactionSynchronizationManager模块通过数据源获取所述数据库连接,并将所述数据库连接放入缓存容器中,使同一事务获取相同的所述数据库连接。
可选地,所述TransactionManager模块提供所述事务管理的接口及其实现方式,一方面为开发者提供满足其不同的需求的事务管理方式,另一方面为开发者根据需求来定制事务管理方案。
另一方面,本发明提供一种轻量级鸿蒙操作系统的应用开发事务管理方法,基于所述应用开发事务管理系统,所述方法包括以下步骤:
在鸿蒙操作系统应用工程中引入所述应用开发事务管理系统依赖;
在所述应用工程指定目录下创建所述应用开发事务管理系统的配置文件;
以开发者在业务类的目标方法上加事务控制注解为前提条件,所述应用开发事务管理系统进行事务控制管理,当所述业务类被调用执行时,所述TransactionManager模块开启,在所述TransactionManager模块中调用所述Proxy代理模块并调用所述Core核心模块里的核心工具类为所述业务类创建动态代理对象,调用所述TransactionSynchronizationManager模块并调用Core核心模块里的核心工具类创建数据库连接并将连接放入到容器中,实现事务控制。
附图说明
图1为本发明的一实施例提供的轻量级鸿蒙操作系统的应用开发事务管理系统框架简图。
图2为本发明的一实施例提供的应用开发事务管理系统的整体架构图。
图3为本发明的一实施例提供的鸿蒙操作系统应用开发者使用应用开发事务管理系统的流程图。
具体实施方式
下面结合本发明实例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例中公开一种轻量级鸿蒙操作系统的应用开发事务管理系统,所述系统主要由Core核心模块、Proxy代理模块、TransactionSynchronizationManager模块和TransactionManager模块组成。所述Core核心模块是所述应用开发事务管理系统的基础模块,主要包含事务管理系统基本的核心工具类,其他模块功能的实现依赖于所述Core核心模块。所述Proxy代理模块是所述应用开发事务管理系统的事务增强模块,用于实现为开发者写的业务类创建动态代理对象,并实现事务控制业务的增强。所述TransactionSynchronizationManager模块是所述应用开发事务管理系统的事务同步模块,用于实现获取数据库连接并进行同步管理。所述TransactionManager模块构建于所述Core核心模块、所述Proxy代理模块和所述TransactionSynchronizationManager模块之上,为使用者提供所述应用开发事务管理系统的事务管理,包括事务开启、事务提交和事务回滚,其中当业务中存在多条数据存取操作时进行所述事务开启,当多条存取业务同时成功时进行所述事务提交,当出现任何一条业务操作失败或业务操作异常时进行所述事务回滚。
下面结合一具体实例对本发明的技术方案进行详细介绍:
a)假设在一个鸿蒙操作系统应用中存在Test1业务类。在所述Test1业务类中存在Method1目标方法,在所述目标方法中存在多条对数据库的增删改操作。为保证所述目标方法中逻辑上的一组操作的各个单元要么全都成功,要么全都失败就会用到事务。
b)在未采用本发明提出的应用开发事务管理系统的情况下,所述鸿蒙操作系统应用开发者在进行事务管理时,需要在所述Method1目标方法中追加获取数据库连接、关闭事务自动提交、开启事务、事务提交以及捕捉异常进行事务回滚的代码。
c)在采用本发明提出的应用开发事务管理系统的情况下,所述鸿蒙操作系统应用开发者在进行事务管理时,只需要在所述Method1目标方法上加事务控制的注解即可。所述应用开发事务管理系统会解析所述目标方法上的注解,并产生动态代理对象,自动为所述Method1目标方法追加获取数据库连接、关闭事务自动提交、开启事务、事务提交以及捕捉异常进行事务回滚的代码,最终实现事务控制业务的增强。
通过上述描述可以发现,未采用本发明提供的一种轻量级鸿蒙操作系统的应用开发事务管理系统时,开发者为实现事务控制需要写的代码量很大,而且此仅为一个目标方法的事务控制,真实的鸿蒙操作系统应用需要进行事务控制的目标方法数量很庞大,在应用的开发过程中,开发者面对规模庞大的事务管理需要花费大量的精力来管理应用开发过程中的事务控制,最终导致开发效率缓慢。而通过本发明提公的一种轻量级鸿蒙操作系统的应用开发事务管理系统,可以帮助鸿蒙操作系统应用开发者从复杂的程序逻辑中分离出事务的管理,避免重复撰写事务控制的代码,让开发者把更多的精力聚焦于业务的实现,最终提高鸿蒙应用程序开发的效率。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。本发明专利需要对整个系统、实现代码以及架构思想和方法进行保护。

Claims (5)

1.一种轻量级鸿蒙操作系统的应用开发事务管理系统,所述系统包括:
Core核心模块,设置有核心工具类,所述核心工具类包括配置文件解析类、注解解析类、动态代理创建类、数据库连接获取类、连接容器创建工具类及将连接注册到容器中工具类;
Proxy代理模块,用于为开发者写的业务类创建动态代理对象,在动态代理对象中增加事务控制的代码实现事务自动化控制;
TransactionSynchronizationManager模块,用于获取数据库连接并进行同步管理;
TransactionManager模块,构建于Core核心模块、Proxy代理模块和TransactionSynchronizationManager模块之上,用于为开发者提供所述应用开发事务管理系统的事务管理,包括事务开启、事务提交和事务回滚,其中当业务中存在多条数据存取操作时进行所述事务开启,当多条存取业务同时成功时进行所述事务提交,当出现任何一条业务操作失败或业务操作异常时进行所述事务回滚。
2.如权利要求1所述的应用开发事务管理系统,其特征在于,所述Proxy代理模块创建动态代理对象,以开发者在业务类的目标方法上加事务注解为前提条件,再基于反射机制解析所述业务类的目标方法上的所述事务注解,根据解析的结果为业务类创建动态代理对象,在所述动态代理对象中对目标方法的前后实施事务业务的自动化控制。
3.如权利要求1所述的应用开发事务管理系统,其特征在于,所述TransactionSynchronizationManager模块通过数据源获取所述数据库连接,并将所述数据库连接放入缓存容器中,使同一事务获取相同的所述数据库连接。
4.如权利要求1所述的应用开发事务管理系统,其特征在于,所述TransactionManager模块提供所述事务管理的接口及其实现方式,为开发者提供事务管理方式,以及用于定制事务管理方案。
5.一种轻量级鸿蒙操作系统的应用开发事务管理方法,基于权利要求1至4任一项所述应用开发事务管理系统,其特征在于,所述方法包括以下步骤:
在鸿蒙操作系统应用工程中引入所述应用开发事务管理系统依赖;
在所述应用工程指定目录下创建所述应用开发事务管理系统的配置文件;
以开发者在业务类的目标方法上加事务控制注解为前提条件,所述应用开发事务管理系统进行事务控制管理,当所述业务类被调用执行时,所述TransactionManager模块开启,在所述TransactionManager模块中调用所述Proxy代理模块并调用所述Core核心模块里的核心工具类为所述业务类创建动态代理对象,调用所述TransactionSynchronizationManager模块并调用Core核心模块里的核心工具类创建数据库连接并将连接放入到容器中,实现事务控制。
CN202111440848.2A 2021-11-30 2021-11-30 轻量级鸿蒙操作系统的应用开发事务管理系统及方法 Active CN114168110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111440848.2A CN114168110B (zh) 2021-11-30 2021-11-30 轻量级鸿蒙操作系统的应用开发事务管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111440848.2A CN114168110B (zh) 2021-11-30 2021-11-30 轻量级鸿蒙操作系统的应用开发事务管理系统及方法

Publications (2)

Publication Number Publication Date
CN114168110A true CN114168110A (zh) 2022-03-11
CN114168110B CN114168110B (zh) 2022-08-23

Family

ID=80481833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111440848.2A Active CN114168110B (zh) 2021-11-30 2021-11-30 轻量级鸿蒙操作系统的应用开发事务管理系统及方法

Country Status (1)

Country Link
CN (1) CN114168110B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229510A (zh) * 2017-06-30 2017-10-03 郑州云海信息技术有限公司 一种分布式系统事务管理方法及装置
WO2018103318A1 (zh) * 2016-12-06 2018-06-14 上海壹账通金融科技有限公司 分布式事务处理方法和系统
CN111857978A (zh) * 2020-06-28 2020-10-30 苏州浪潮智能科技有限公司 分布式事务处理方法、装置、计算机设备及存储介质
CN113268471A (zh) * 2021-06-24 2021-08-17 京东科技控股股份有限公司 处理分布式事务的方法、代理连接池、系统、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018103318A1 (zh) * 2016-12-06 2018-06-14 上海壹账通金融科技有限公司 分布式事务处理方法和系统
CN107229510A (zh) * 2017-06-30 2017-10-03 郑州云海信息技术有限公司 一种分布式系统事务管理方法及装置
CN111857978A (zh) * 2020-06-28 2020-10-30 苏州浪潮智能科技有限公司 分布式事务处理方法、装置、计算机设备及存储介质
CN113268471A (zh) * 2021-06-24 2021-08-17 京东科技控股股份有限公司 处理分布式事务的方法、代理连接池、系统、设备及介质

Also Published As

Publication number Publication date
CN114168110B (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
CN110825369A (zh) 一种基于java语言的代码自动生成的方法
CN112035090B (zh) 基于容器化技术实现智能合约智慧化管理系统及方法
CN1584828A (zh) 一种电信设备配置界面自动生成方法
CN103544016A (zh) 一种基于java反射技术的服务注册配置方法及系统
CN113110832A (zh) 一种智能高效代码生成方法、装置及存储介质
CN111782207A (zh) 任务流代码生成方法、装置、设备及存储介质
CN117556008A (zh) 基于大语言模型的交互方法、介质、装置和计算设备
CN114168110B (zh) 轻量级鸿蒙操作系统的应用开发事务管理系统及方法
CN103927244A (zh) 一种基于动态代理实现的插件调度过程监控的方法
CN109885493A (zh) 一种基于Android平台和Java反射的自动化混合框架
CN101335651B (zh) 一种终端仿真测试系统及使用该系统扩充终端的方法
CN113885873B (zh) 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法
CN111782194B (zh) 一种基于航空嵌入式开放体系架构的可移植单元代码自动生成方法
US8464218B2 (en) Method port arrangement and configuration method thereof for robot software component
CN108845793B (zh) 一种orm设计方法及装置
CN116149722A (zh) 一种Devops自动化发布系统
CN113312031B (zh) 一种软件通信体系结构的命名服务接口
CN115469860A (zh) 基于指令集的需求到软件领域模型的自动生成方法及系统
CN109857390B (zh) 一种Git仓库文件注解系统的注解传递方法
CN112612474A (zh) 产品移植方法、装置、存储介质和电子设备
CN113485690A (zh) 一种api接口可视化实体转换方法
CN107291455B (zh) 一种基于工厂模式实现转账业务的方法及系统
Dumez et al. Formal specification and verification of service composition using LOTOS
CN108804087B (zh) 一种动态切换第三方程序库的实现方法及实现装置
CN110175116B (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