CN102289519A - 一种应用服务器及其与数据库的数据协同方法 - Google Patents
一种应用服务器及其与数据库的数据协同方法 Download PDFInfo
- Publication number
- CN102289519A CN102289519A CN2011102713508A CN201110271350A CN102289519A CN 102289519 A CN102289519 A CN 102289519A CN 2011102713508 A CN2011102713508 A CN 2011102713508A CN 201110271350 A CN201110271350 A CN 201110271350A CN 102289519 A CN102289519 A CN 102289519A
- Authority
- CN
- China
- Prior art keywords
- data
- application server
- database
- state
- mode
- 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
Abstract
本发明涉及一种应用服务器及其与数据库的数据协同方法,其中方法包括:应用服务器启动,对数据库中的业务表进行数据抽取,并生成相应的对象数据,完成初始化;应用服务器解析收到的用户发送的请求,根据请求类型进行相应的业务逻辑处理,在处理过程中生成新的对象数据或者修改原有的对象数据后,通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作。所述应用服务器包括:数据处理单元、接收请求单元、业务处理单元和更新数据库单元。本发明在应用服务器实现了事务处理,应用服务器与数据库的数据协同更具有安全性和一致性。
Description
技术领域
本发明涉及信息管理系统、实时智能系统领域,尤其涉及一种应用服务器及其与数据库的数据协同方法。
背景技术
现在的行业软件中,如基于关系数据库的信息管理系统、客户关系管理系统,其主要应用架构有C/S结构(客户端/服务器结构)、B/S结构(浏览器/服务器结构)、三层结构(客户端/应用服务器/数据库服务器结构)和多层结构(客户端/多个中间服务器/应用服务器/数据库服务器结构)。其中应用服务器是三层结构和多层结构中业务逻辑实现的关键环节,应用服务器进行业务逻辑的处理,数据库服务器负责基本数据和业务逻辑数据的储存。保证应用服务器与数据库服务器的数据一致性和完整性非常重要。现有技术中主要依赖数据库服务器提供的特性,如建立关系数据库模型,建立外键、约束、索引、储存过程、触发器、日志快照等等,主要在数据库服务器端实现。这些实现方式可以保证数据在数据库端的读写是一致和完整的,但是缺点在于把数据的业务逻辑处理严重依赖到数据库服务器上,应用服务器中实现的业务逻辑相对简单。为了使应用服务器实现复杂的业务逻辑和数据处理,并保证与数据库服务器的数据协同一致,运用数据库特性不能完全满足业务需求,并且存在实现性能和错误机制依赖和受限于数据库服务器的问题。
因此当前需要一种新的应用服务器与数据库的数据协同的技术方案来解决上述问题。
发明内容
本发明所要解决的技术问题是提供一种应用服务器及其与数据库的数据协同方法,解决了当前应用服务器与数据库的数据协同存在过于依赖数据库服务器的问题。
为了解决上述问题,本发明提供了一种应用服务器与数据库的数据协同方法,其包括:
应用服务器启动,对数据库中的业务表进行数据抽取,并生成相应的对象数据,完成初始化;
应用服务器解析收到的用户发送的请求,根据请求类型进行相应的业务逻辑处理,在处理过程中生成新的对象数据或者修改原有的对象数据后,通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作。
优选地,所述应用服务器进行业务逻辑处理的步骤,还包括:对每个对象数据的变化通过状态属性进行标示;其中所述对象数据的状态属性包括:新建状态、稳定状态、更新状态和删除状态。
进一步地,还包括:所述应用服务器进行业务逻辑处理如果成功,则对应用服务器的事务进行提交,并创建状态为新建状态的对象,更新状态为更新状态的对象,或者删除状态为删除状态的对象;所述应用服务器进行业务逻辑处理如果失败,则进行数据库服务器和应用服务器的事务回滚。
优选地,所述应用服务器进行数据库服务器和应用服务器的事务回滚,包括:
所述应用服务器删除状态为新建状态的对象数据,恢复状态为更新状态的对象数据,或者删除状态为删除状态的对象数据。
优选地,所述对象更新数据库方式,包括:数据新建方式、数据更新方式和数据删除方式;所述应用服务器调用对象更新数据库方式是通过调用ODBC接口函数对数据库的数据进行新建、更新和删除操作。
优选地,所述用户是通过图形界面接口发送请求给所述应用服务器。
以及,一种应用服务器,其包括:数据处理单元、接收请求单元、业务处理单元和更新数据库单元,其中,
所述数据处理单元,用于对数据库中的业务表进行数据抽取,并生成相应的对象数据,完成应用服务器的初始化;
所述接收请求单元,用于接收用户发送的请求;
所述业务处理单元,用于解析收到的所述请求,根据请求类型进行相应的业务逻辑处理,在处理过程中生成新的对象数据或者修改原有的对象数据;
所述更新数据库单元,用于生成新的对象数据或者修改原有的对象数据后,通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作。
优选地,所述业务处理单元还用于,在进行业务逻辑处理时,对每个对象数据的变化通过状态属性进行标示;其中所述对象数据的状态属性包括:新建状态、稳定状态、更新状态和删除状态。
优选地,所述更新数据库单元,还用于判断如果所述业务处理单元进行业务逻辑处理成功,则对应用服务器的事务进行提交,并创建状态为新建状态的对象,更新状态为更新状态的对象,或者删除状态为删除状态的对象;判断如果所述应用服务器进行业务逻辑处理失败,则进行数据库服务器和应用服务器的事务回滚,其中删除状态为新建状态的对象数据,恢复状态为更新状态的对象数据,或者删除状态为删除状态的对象数据。
优选地,所述更新数据库单元调用的所述对象更新数据库方式,包括:数据新建方式、数据更新方式和数据删除方式;所述更新数据库单元调用对象更新数据库方式是通过调用ODBC接口函数对数据库的数据进行新建、更新和删除操作。
与现有技术相比,应用本发明,为了在应用服务器实现复杂的业务逻辑处理,将业务逻辑数据在应用服务器端进行面向对象抽象和建立数据模型,通过应用服务器中业务逻辑的数据事务处理和数据更新技术,保证应用服务器与数据库服务器之间的数据一致性和完整性;本发明业务逻辑处理灵活,在业务逻辑实现层不依赖数据库特性,底层数据库数据的读写相对与应用服务器独立,应用服务器具有很好的跨数据库平台特性。在应用服务器实现了事务处理,应用服务器与数据库的数据协同更具有安全性和一致性。
附图说明
图1是本发明的应用服务器及其与数据库的数据协同方法的原理图;
图2是本发明的应用服务器及其与数据库的数据协同方法的流程图;
图3是本发明方法的工作流程图;
图4是本发明的应用服务器的结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步说明。
图1是本发明的应用服务器及其与数据库的数据协同方法的原理图。
图2是本发明的应用服务器及其与数据库的数据协同方法的流程图,包括以下步骤:
步骤210、应用服务器启动,对数据库中的业务表进行数据抽取,并在应用服务器中生成相应的对象数据,完成初始化;
应用服务器完成初始化时,建立用户请求队列,等待图形界面接口(GUI)发送的请求命令。
首先应用服务器要进行数据库的设计,建立关系数据库模型。进行业务需求分析,对业务逻辑进行抽象设计,应用面向对象抽象和面向对象设计,建立数据模型。
应用服务器进行数据抽取与对象构建工作,是指:在应用服务器中使用面向对象语言技术对业务逻辑数据进行抽象设计,构造对象类和方法。在应用服务器启动时,抽取数据库服务器中的相关业务逻辑数据,构建生成相应的对象数据。
步骤220、用户通过图形界面接口(GUI)发送请求给应用服务器;
用户发送的请求需要加入应用服务器中的用户请求队列等待处理。
步骤230、应用服务器解析收到的所述请求,并根据请求类型进行相应的业务逻辑处理,在处理过程中生成新的对象数据或者修改原有的对象数据后,通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作。
应用服务器从请求队列中获得请求,解析请求并根据请求类型作相应的业务逻辑处理,在处理过程中会产生新的对象数据或者修改原有的对象数据。
应用服务器在处理过程中,对每个对象数据的变化通过状态属性进行标示,在整个处理事务完成后,对数据对象的更新是通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作,处理成功则对应用服务器端的事务提交,处理失败则进行数据库服务器和应用服务器的事务回滚。
所述对象数据的状态属性包括:新建状态、稳定状态、更新状态和删除状态。
应用服务器业务逻辑处理。应用服务器把数据抽象成对象实例。应用服务器建立请求队列,客户端通过发送请求命令给应用服务器来进行业务逻辑处理,每次业务逻辑处理过程是在一个完整的应用服务器事务中,该事务中对业务逻辑数据对象的处理会影响到对象数据的状态变化,应用服务器执行业务逻辑处理如果成功,则对应用服务器的事务进行提交,并创建状态为新建状态的对象,更新状态为更新状态的对象,或者删除状态为删除状态的对象。应用服务器进行业务逻辑处理如果失败,则进行数据库服务器和应用服务器的事务回滚,具体操作为:删除状态为新建状态的对象数据,恢复状态为更新状态的对象数据,或者删除状态为删除状态的对象数据。
所述应用服务器生成新的对象数据或者修改原有的对象数据,是由于应用服务器中对象数据有相应的依赖关系和约束,通过相应的业务逻辑数据的新建、更新、删除动作设置优先级顺序,来控制应用服务器对对象数据操作的正确性和数据的依赖关系,并通过对象ID的连接关系,实现数据项生成ID的正确序列。
所述对象更新数据库方式,包括:数据新建方式、数据更新方式和数据删除方式;所述应用服务器调用对象更新数据库方式是通过调用ODBC接口函数对数据库的数据进行新建、更新和删除操作。
图3描述了本方法的工作流程。
首先,应用服务器启动时,对数据库中的业务表进行数据抽取,并在服务器中生成相应的对象数据,完成应用服务器初始化状态,并建立用户请求队列,等待图形界面接口(GUI)发送的请求命令。其次,用户通过图形界面接口(GUI)发送请求给应用服务器,并加入服务器中的请求队列等待处理。然后,应用服务器从请求队列中获得请求,解析请求并根据请求类型作相应的业务逻辑处理,在处理过程中会产生新的对象数据或者修改原有的对象数据。每个对象数据的变化都用状态属性进行标示,在整个处理事务完成后对数据对象的更新,是通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作,处理成功则对应用服务器端的事务提交,处理失败则进行数据库服务器和应用服务器的事务回滚。
如图4所示,本发明还提供了一种应用服务器,包括:数据处理单元、接收请求单元、业务处理单元和更新数据库单元,其中,
所述数据处理单元,用于对数据库中的业务表进行数据抽取,并生成相应的对象数据,完成应用服务器的初始化;
所述接收请求单元,用于接收用户发送的请求;
所述业务处理单元,用于解析收到的所述请求,根据请求类型进行相应的业务逻辑处理,在处理过程中生成新的对象数据或者修改原有的对象数据;
所述更新数据库单元,用于生成新的对象数据或者修改原有的对象数据后,通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作。
所述业务处理单元还用于,在进行业务逻辑处理时,对每个对象数据的变化通过状态属性进行标示;其中所述对象数据的状态属性包括:新建状态、稳定状态、更新状态和删除状态。
所述更新数据库单元,还用于判断如果所述业务处理单元进行业务逻辑处理成功,则对应用服务器的事务进行提交,并创建状态为新建状态的对象,更新状态为更新状态的对象,或者删除状态为删除状态的对象;判断如果所述应用服务器进行业务逻辑处理失败,则进行数据库服务器和应用服务器的事务回滚,其中删除状态为新建状态的对象数据,恢复状态为更新状态的对象数据,或者删除状态为删除状态的对象数据。
所述更新数据库单元调用的所述对象更新数据库方式,包括:数据新建方式、数据更新方式和数据删除方式;所述更新数据库单元调用对象更新数据库方式是通过调用ODBC接口函数对数据库的数据进行新建、更新和删除操作。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种应用服务器与数据库的数据协同方法,其特征在于,包括:
应用服务器启动,对数据库中的业务表进行数据抽取,并生成相应的对象数据,完成初始化;
应用服务器解析收到的用户发送的请求,根据请求类型进行相应的业务逻辑处理,在处理过程中生成新的对象数据或者修改原有的对象数据后,通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作。
2.如权利要求1所述的方法,其特征在于,
所述应用服务器进行业务逻辑处理的步骤,还包括:对每个对象数据的变化通过状态属性进行标示;其中所述对象数据的状态属性包括:新建状态、稳定状态、更新状态和删除状态。
3.如权利要求2所述的方法,其特征在于,
还包括:所述应用服务器进行业务逻辑处理如果成功,则对应用服务器的事务进行提交,并创建状态为新建状态的对象,更新状态为更新状态的对象,或者删除状态为删除状态的对象;所述应用服务器进行业务逻辑处理如果失败,则进行数据库服务器和应用服务器的事务回滚。
4.如权利要求3所述的方法,其特征在于,
所述应用服务器进行数据库服务器和应用服务器的事务回滚,包括:
所述应用服务器删除状态为新建状态的对象数据,恢复状态为更新状态的对象数据,或者删除状态为删除状态的对象数据。
5.如权利要求1所述的方法,其特征在于,
所述对象更新数据库方式,包括:数据新建方式、数据更新方式和数据删除方式;所述应用服务器调用对象更新数据库方式是通过调用ODBC接口函数对数据库的数据进行新建、更新和删除操作。
6.如权利要求1所述的方法,其特征在于,
所述用户是通过图形界面接口发送请求给所述应用服务器。
7.一种应用服务器,其特征在于,
包括:数据处理单元、接收请求单元、业务处理单元和更新数据库单元,其中,
所述数据处理单元,用于对数据库中的业务表进行数据抽取,并生成相应的对象数据,完成应用服务器的初始化;
所述接收请求单元,用于接收用户发送的请求;
所述业务处理单元,用于解析收到的所述请求,根据请求类型进行相应的业务逻辑处理,在处理过程中生成新的对象数据或者修改原有的对象数据;
所述更新数据库单元,用于生成新的对象数据或者修改原有的对象数据后,通过数据更新的优先级顺序,依次调用对象更新数据库方式,对数据库的数据进行更新操作。
8.如权利要求7所述的应用服务器,其特征在于,
所述业务处理单元还用于,在进行业务逻辑处理时,对每个对象数据的变化通过状态属性进行标示;其中所述对象数据的状态属性包括:新建状态、稳定状态、更新状态和删除状态。
9.如权利要求8所述的应用服务器,其特征在于,
所述更新数据库单元,还用于判断如果所述业务处理单元进行业务逻辑处理成功,则对应用服务器的事务进行提交,并创建状态为新建状态的对象,更新状态为更新状态的对象,或者删除状态为删除状态的对象;判断如果所述应用服务器进行业务逻辑处理失败,则进行数据库服务器和应用服务器的事务回滚,其中删除状态为新建状态的对象数据,恢复状态为更新状态的对象数据,或者删除状态为删除状态的对象数据。
10.如权利要求7所述的应用服务器,其特征在于,
所述更新数据库单元调用的所述对象更新数据库方式,包括:数据新建方式、数据更新方式和数据删除方式;所述更新数据库单元调用对象更新数据库方式是通过调用ODBC接口函数对数据库的数据进行新建、更新和删除操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102713508A CN102289519A (zh) | 2011-09-14 | 2011-09-14 | 一种应用服务器及其与数据库的数据协同方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102713508A CN102289519A (zh) | 2011-09-14 | 2011-09-14 | 一种应用服务器及其与数据库的数据协同方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102289519A true CN102289519A (zh) | 2011-12-21 |
Family
ID=45335945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102713508A Pending CN102289519A (zh) | 2011-09-14 | 2011-09-14 | 一种应用服务器及其与数据库的数据协同方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102289519A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844502A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 数据一致性处理方法及设备 |
CN107016029A (zh) * | 2016-12-13 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种业务数据的处理方法、装置及系统 |
CN107180159A (zh) * | 2017-06-19 | 2017-09-19 | 上海德启信息科技有限公司 | 一种目标数据获取方法和装置 |
CN107341253A (zh) * | 2017-07-11 | 2017-11-10 | 深圳市信义科技有限公司 | 一种根据数据等级对主数据进行更新的方法 |
CN109710673A (zh) * | 2018-12-25 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 作品处理方法、装置、设备和介质 |
CN114510495A (zh) * | 2022-04-21 | 2022-05-17 | 北京安华金和科技有限公司 | 一种数据库业务数据一致性处理方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489075A (zh) * | 2002-10-12 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多点协同作业系统及方法 |
CN201160282Y (zh) * | 2007-12-28 | 2008-12-03 | 上海可鲁系统软件有限公司 | 一种多功能自动化应用服务器装置 |
-
2011
- 2011-09-14 CN CN2011102713508A patent/CN102289519A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489075A (zh) * | 2002-10-12 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多点协同作业系统及方法 |
CN201160282Y (zh) * | 2007-12-28 | 2008-12-03 | 上海可鲁系统软件有限公司 | 一种多功能自动化应用服务器装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016029A (zh) * | 2016-12-13 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种业务数据的处理方法、装置及系统 |
CN106844502A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 数据一致性处理方法及设备 |
CN106844502B (zh) * | 2016-12-27 | 2020-01-07 | 北京五八信息技术有限公司 | 数据一致性处理方法及设备 |
CN107180159A (zh) * | 2017-06-19 | 2017-09-19 | 上海德启信息科技有限公司 | 一种目标数据获取方法和装置 |
CN107341253A (zh) * | 2017-07-11 | 2017-11-10 | 深圳市信义科技有限公司 | 一种根据数据等级对主数据进行更新的方法 |
CN107341253B (zh) * | 2017-07-11 | 2020-07-07 | 深圳市信义科技有限公司 | 一种根据数据等级对主数据进行更新的方法 |
CN109710673A (zh) * | 2018-12-25 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 作品处理方法、装置、设备和介质 |
CN109710673B (zh) * | 2018-12-25 | 2022-11-25 | 百度在线网络技术(北京)有限公司 | 作品处理方法、装置、设备和介质 |
CN114510495A (zh) * | 2022-04-21 | 2022-05-17 | 北京安华金和科技有限公司 | 一种数据库业务数据一致性处理方法和系统 |
CN114510495B (zh) * | 2022-04-21 | 2022-07-08 | 北京安华金和科技有限公司 | 一种数据库业务数据一致性处理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2600246B1 (en) | Batch processing of business objects | |
CN102521712B (zh) | 一种流程实例数据处理方法和装置 | |
CN102289519A (zh) | 一种应用服务器及其与数据库的数据协同方法 | |
KR101863398B1 (ko) | 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법 | |
EP1693765B1 (en) | A data processing system and method | |
US8239389B2 (en) | Persisting external index data in a database | |
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
US8874455B2 (en) | Convergence of customer and internal assets | |
US8108434B2 (en) | Dynamic node extensions and extension fields for business objects | |
US7895094B2 (en) | Global account reconciliation tool | |
CN108304554B (zh) | 文件拆分方法、装置、计算机设备和存储介质 | |
CN102073540A (zh) | 分布式事务提交方法和装置 | |
WO2020192063A1 (zh) | 一种基于缓存化的销售锁定方法及系统 | |
US20210286799A1 (en) | Automated transaction engine | |
CN107437222B (zh) | 基于银行柜面前端的联机业务数据的处理方法及系统 | |
US11188426B2 (en) | Consistency recovery method for seamless database duplication | |
CN114925084B (zh) | 分布式事务处理方法、系统、设备及可读存储介质 | |
US7877695B2 (en) | Tailored object | |
CN101577718A (zh) | 多网银适配系统 | |
CN109643310A (zh) | 用于数据库中数据重分布的系统和方法 | |
US20100049573A1 (en) | Automated security provisioning for outsourced operations | |
US20120310709A1 (en) | Computer-implemented method and apparatus for integrating heterogeneous business processes | |
CN104317957A (zh) | 一种报表处理的开放平台、系统及报表处理方法 | |
CN112163026A (zh) | 一种用于整合多类技术应用数据的多源异构接口管控方法 | |
US20120078967A1 (en) | Integration of a Framework Application and a Task Database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111221 |