CN104699834B - 优化数据库数据访问的方法 - Google Patents
优化数据库数据访问的方法 Download PDFInfo
- Publication number
- CN104699834B CN104699834B CN201510148628.0A CN201510148628A CN104699834B CN 104699834 B CN104699834 B CN 104699834B CN 201510148628 A CN201510148628 A CN 201510148628A CN 104699834 B CN104699834 B CN 104699834B
- Authority
- CN
- China
- Prior art keywords
- event
- database
- data
- information
- operation object
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机信息处理技术领域,提供一种优化数据库数据访问的方法,以解决数据库访问时存在的数据访问性能、并发访问冲突以及开发任务功能点分离的问题,该方法包括:命令总线接收业务系统发送的数据库操作命令并通过命令工厂查找命令处理器;创建操作对象,并向操作对象传输数据;将操作对象保存至事件存储容器;事件总线通过事件工厂查找事件对应的事件处理器,并通过查找到的事件处理器执行事件。本发明提出的技术方案增强了数据库数据访问的性能,解决了并发访问冲突、开发任务功能点分离的问题。
Description
技术领域
本发明涉及计算机信息处理技术领域,特别涉及一种优化数据库数据访问的方法。
背景技术
随着数据库产品和技术的快速发展,将数据库作为数据存储与访问的数据源应用到各种信息化系统已经成为非常成熟的应用方式,在基于数据库时的信息系统中,信息系统针对数据库访问与操作的性能问题、并发冲突问题、开发任务的功能问题成为数据库应用技术中的核心问题。目前,针对数据库数据访问的性能问题、并发冲突问题、功能关注点问题分别有不同的解决方法,但是这些解决方法只能解决某一个或者某几个问题,而且目前的解决方法是基于不同层次的解决方法,并没有作到整合,此外,目前的解决方法还要依赖于不同厂商的不同产品中的特定技术才能实现,因此实现成本较高,也不利于后期的维护。
发明内容
【要解决的技术问题】
本发明的目的是提供一种优化数据库数据访问的方法,以解决数据库访问时存在的数据访问性能、并发访问冲突以及开发任务功能点分离的问题。
【技术方案】
本发明是通过以下技术方案实现的。
本发明涉及一种优化数据库数据访问的方法,该方法包括以下步骤:
步骤A:业务系统发送数据库操作命令;
步骤B:命令总线接收业务系统发送的数据库操作命令并通过命令工厂查找该数据库操作命令对应的命令处理器;
步骤C:所述步骤B查找得到的命令处理器创建操作对象,并向操作对象传输数据,操作对象接收到数据后,将该数据附加到操作对象的事件;
步骤D:将创建的操作对象保存至事件存储容器;
步骤E:查询未提交到事件总线的事件,并将未提交到事件总线的事件发布到事件总线;
步骤F:事件总线通过事件工厂查找事件对应的事件处理器,并通过查找到的事件处理器执行事件。
作为一种优选的实施方式,所述步骤D采用数据仓储的存储方法将操作对象保存至事件存储容器。
作为另一种优选的实施方式,所述步骤D具体包括:将创建的操作对象的信息与数据库中的操作对象的信息进行对比,判断操作对象的信息是否发生变化,如果发生变化则提示异常;如果未发生变化则将操作对象的信息保存至事件存储容器。
作为另一种优选的实施方式,所述步骤F中事件处理器执行事件具体包括:事件处理器接收事件;事件处理器将所接收事件中的信息保存到事件对象;事件处理器将事件对象保存至数据库。
作为另一种优选的实施方式,所述步骤F中具体采用数据仓储的存储方法将事件对象保存至数据库。
作为另一种优选的实施方式,所述步骤F中所采用的数据仓储的存储方法具体包括:将事件对象信息与数据库中的事件对象信息进行对比,判断事件对象信息是否发生变化,如果发生变化则提示异常;如果未发生变化则将事件对象保存至数据库。
作为另一种优选的实施方式,所述数据库操作命令包括数据增加、数据修改和数据删除。
【有益效果】
本发明提出的技术方案具有以下有益效果:
(1)本发明在访问数据库时,通过依次执行事件总线中的事件,有效缓解了数据访问资源争夺问题,增强了数据库数据访问的性能。
(2)本发明通过数据仓储的方法保存数据,解决了并发访问冲突问题。
(3)本发明中对数据库的数据操作包括增加、修改、删除数据,因此读取数据这部分开发任务与数据操作这部分开发任务可以由不同的团队采用不同的方法完成,因此能够解决开发任务功能点分离的问题。
附图说明
图1为本发明的实施例提供的优化数据库数据访问的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的具体实施方式进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
图1为本发明实施例提供的优化数据库数据访问的方法的流程图。如图1所示,该方法包括步骤S11至步骤S18,下面分别对上述步骤进行说明。
步骤S11:业务系统发送数据库操作命令。
数据库操作命令包括数据增加、数据修改和数据删除。本实施例中,步骤S11具体为:用户在业务系统上录入客户的姓名、年龄字段信息,业务系统将创建客户命令,并将客户命令发送至命令总线,即将客户的姓名、年龄信息发送至命令总线。
步骤S12:命令总线接收业务系统发送的数据库操作命令并通过命令工厂查找该数据操作命令对应的命令处理器。
具体地,步骤S12中,命令总线接收到步骤S11中发送的客户命令以及客户的相关信息后,通过命令工厂查找客户命令对应的命令处理器。
步骤S13:命令处理器创建操作对象,并向操作对象传输数据。
步骤S13中,步骤S12查找得到的命令处理器创建操作对象,并向操作对象传输数据,具体地,在本实施例中,操作对象为客户对象,步骤S12查找得到的命令处理器创建一个客户对象,并将客户的姓名、年龄信息传送至客户对象。
步骤S14:操作对象接收到数据后,将该数据附加到操作对象的事件。
具体地,在本实施例中,客户对象接收到传输的客户的姓名、年龄信息后,将客户的姓名、年龄信息附加到客户对象的事件列表中。
步骤S15:将创建的操作对象保存至事件存储容器。
具体地,步骤S15中,命令总线继续执行命令,采用数据仓储的存储方法将客户对象保存至事件存储容器,其中数据仓储的存储方法具体包括:将创建的客户对象的信息与数据库中的客户对象的信息进行对比,判断客户对象的信息是否发生变化,如果发生变化则提示异常;如果未发生变化则将创建的客户对象的信息保存至事件存储容器。
步骤S16:查询未提交到事件总线的事件,并将未提交到事件总线的事件发布到事件总线。
具体地,步骤S16中,事件总线查询已创建的客户对象的事件中未提交的事件,并将未提交到事件总线的客户对象的事件发布到事件总线。
步骤S17:事件总线通过事件工厂查找事件对应的事件处理器。
具体地,事件总线通过事件工厂查找创建的客户对象的事件对应的事件处理器。
步骤S18:通过查找到的事件处理器执行事件。
步骤S18中,事件处理器执行创建的客户对象的事件具体包括:
事件处理器接收创建的客户对象的事件;
事件处理器将所接收事件中的信息保存到事件对象,本实施例中,事件中的信息包括事件中的客户姓名、年龄;
采用数据仓储的存储方法将事件对象保存至数据库。其中,所采用的数据仓储的存储方法具体包括:将事件对象信息与数据库中的事件对象信息进行对比,判断事件对象信息是否发生变化,如果发生变化则提示异常;如果未发生变化则将事件对象保存至数据库。
从以上实施例可以看出,本发明实施例在访问数据库时,通过依次执行事件总线中的事件,有效缓解了数据访问资源争夺问题,增强了数据库数据访问的性能;另外,本发明实施例通过数据仓储的方法保存数据,解决了并发访问冲突问题;最后,本发明实施例中对数据库的数据操作包括增加、修改、删除数据,因此读取数据这部分开发任务与数据操作这部分开发任务可以由不同的团队采用不同的方法完成,因此能够解决开发任务功能点分离的问题。
Claims (2)
1.一种优化数据库数据访问的方法,其特征在于包括以下步骤:
步骤A:业务系统发送数据库操作命令;
步骤B:命令总线接收业务系统发送的数据库操作命令并通过命令工厂查找该数据库操作命令对应的命令处理器;
步骤C:所述步骤B查找得到的命令处理器创建操作对象,并向操作对象传输数据,操作对象接收到数据后,将该数据附加到操作对象中;
步骤D:将创建的操作对象保存至事件存储容器;
步骤E:查询未提交到事件总线的事件,并将未提交到事件总线的事件发布到事件总线;
步骤F:事件总线通过事件工厂查找事件对应的事件处理器,并通过查找到的事件处理器执行事件;
所述步骤D采用数据仓储的存储方法将操作对象保存至事件存储容器;
所述步骤D具体包括:将创建的操作对象的信息与数据库中的操作对象的信息进行对比,判断操作对象的信息是否发生变化,如果发生变化则提示异常;如果未发生变化则将操作对象的信息保存至事件存储容器;
所述步骤F中事件处理器执行事件具体包括:事件处理器接收事件;事件处理器将所接收事件中的信息保存到事件对象;事件处理器将事件对象保存至数据库;
所述步骤F中具体采用数据仓储的存储方法将事件对象保存至数据库;
所述步骤F中所采用的数据仓储的存储方法具体包括:将事件对象信息与数据库中的事件对象信息进行对比,判断事件对象信息是否发生变化,如果发生变化则提示异常;如果未发生变化则将事件对象保存至数据库。
2.根据权利要求1所述的优化数据库数据访问的方法,其特征在于所述数据库操作命令包括数据增加、数据修改和数据删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510148628.0A CN104699834B (zh) | 2015-03-31 | 2015-03-31 | 优化数据库数据访问的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510148628.0A CN104699834B (zh) | 2015-03-31 | 2015-03-31 | 优化数据库数据访问的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699834A CN104699834A (zh) | 2015-06-10 |
CN104699834B true CN104699834B (zh) | 2018-11-20 |
Family
ID=53346954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510148628.0A Active CN104699834B (zh) | 2015-03-31 | 2015-03-31 | 优化数据库数据访问的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699834B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678632A (zh) * | 2013-12-19 | 2014-03-26 | 成都市卓睿科技有限公司 | 在数据系统中快速更新数据的系统及方法 |
CN103699649A (zh) * | 2013-12-26 | 2014-04-02 | 成都市卓睿科技有限公司 | 处理界面元素与数据映射的系统及其实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE255249T1 (de) * | 1998-09-03 | 2003-12-15 | Kimono Ltd | Entwicklungsverfahren fuer ein datenverarbeitungssystem |
-
2015
- 2015-03-31 CN CN201510148628.0A patent/CN104699834B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678632A (zh) * | 2013-12-19 | 2014-03-26 | 成都市卓睿科技有限公司 | 在数据系统中快速更新数据的系统及方法 |
CN103699649A (zh) * | 2013-12-26 | 2014-04-02 | 成都市卓睿科技有限公司 | 处理界面元素与数据映射的系统及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104699834A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10826980B2 (en) | Command process load balancing system | |
US9189524B2 (en) | Obtaining partial results from a database query | |
US10380103B2 (en) | Object data updating method and apparatus in an object storage system | |
US10635668B2 (en) | Intelligently utilizing non-matching weighted indexes | |
CN101183379A (zh) | 用于检索数据的方法和系统 | |
US8959229B1 (en) | Intelligently provisioning cloud information services | |
US8751446B2 (en) | Transference control method, transference control apparatus and recording medium of transference control program | |
US20150100961A1 (en) | Operating Programs on a Computer Cluster | |
US10664460B2 (en) | Index B-tree maintenance for linear sequential insertion | |
CN103377292B (zh) | 数据库结果集缓存方法及设备 | |
EP3642740A1 (en) | Method and system for emergency data destruction | |
CN109472540A (zh) | 业务处理方法和装置 | |
US10095737B2 (en) | Information storage system | |
JP2013105293A (ja) | 情報処理装置 | |
US10033737B2 (en) | System and method for cross-cloud identity matching | |
US20170337197A1 (en) | Rule management system and method | |
CN105378604A (zh) | 趋势建议 | |
CN109614411B (zh) | 数据存储方法、设备和存储介质 | |
US20110093688A1 (en) | Configuration management apparatus, configuration management program, and configuration management method | |
CN106503027B (zh) | 数据库操作方法及装置 | |
CN104699834B (zh) | 优化数据库数据访问的方法 | |
US8161017B2 (en) | Enhanced identification of relevant database indices | |
US10031811B1 (en) | Systems and methods for enhancing electronic discovery searches | |
CN107423375B (zh) | 应用程序搜索方法和装置 | |
KR20180059269A (ko) | 빅데이터 플랫폼 연동 장치 및 그 연동 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |