CN103377073B - 数据信息处理装置及方法 - Google Patents
数据信息处理装置及方法 Download PDFInfo
- Publication number
- CN103377073B CN103377073B CN201210125715.0A CN201210125715A CN103377073B CN 103377073 B CN103377073 B CN 103377073B CN 201210125715 A CN201210125715 A CN 201210125715A CN 103377073 B CN103377073 B CN 103377073B
- Authority
- CN
- China
- Prior art keywords
- shared drive
- data information
- shared
- data
- new
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种数据信息处理装置及方法。其中,所述数据信息处理装置包括管理模块、配置信息存储模块和至少一个应用请求处理模块,并且其中,所述管理模块能够基于来自用户的扩容指令而执行共享内存的扩容。本发明所公开的数据信息处理装置及方法可以在不停止应用进程并且不影响数据处理效率的情况下实现共享内存的扩容。
Description
技术领域
本发明涉及数据信息处理装置及方法,更具体地,涉及可以以平滑切换的方式进行共享内存扩容的数据信息处理装置及方法。
背景技术
目前,随着信息数据处理需求的日益增长以及不同领域的业务种类的日益丰富,对需要很高实时性的数据信息处理系统(例如全时段(即7×24小时)运行的金融处理系统)而言,通常使用共享内存作为关键数据信息的存储介质(即将数据库中需要快速访问的数据装载到共享内存中,而应用进程将该共享内存区域映射到自己的虚拟地址空间,从而达到快速读取数据的目的),从而满足以下需求:对数据信息具有高的访问效率,并且整个系统具有高的数据处理性能。此外,当共享内存初次创建时,一般会根据目前需要装载的数据量以及日后数据的增长量设定一个较为合理的容量值,然而,随着数据量的不断增长,上述采用共享内存存储技术的系统必须具有扩充共享内存容量的功能。
在现有的数据信息处理装置及方法中,通常以如下两种方式实现共享内存容量的扩充:(1)在初次创建共享内存时,配置一个与当前需要装载的数据量相匹配的容量值,并且当共享内存需要扩容时,停止应用进程对共享内存的访问,随后重新设置新的共享内存容量值,从而创建新的共享内存并装载数据;(2)使用与方式(1)相似的共享内存扩容过程,但在对实际业务影响较小的时间段内执行扩容操作,在其中,仍然需要暂停应用进程对共享内存的访问,以重新装载入参数。
然而,上述现有的共享内存扩容方式(1)存在如下问题:在需要扩容共享内存时,需要中断应用进程(例如金融业务进程)的处理,因而不能满足高实时、高可靠性系统的要求(例如全时段(即7×24小时)运行的金融处理系统)。此外,上述现有的共享内存扩容方式(2)存在如下问题:虽然可以在一定程度上降低共享内存的扩容对应用进程带来的影响(即应用进程的中断),但仍然需要中断应用进程的处理,因而不能满足高实时、高可靠性系统的要求。
因此,存在如下需求:提供一种可以以平滑切换的方式进行共享内存扩容的数据信息处理装置及方法。
发明内容
为了解决上述现有技术方案所存在的问题,本发明提出了一种可以以平滑切换的方式进行共享内存扩容的数据信息处理装置及方法。
本发明的目的可以通过以下技术方案实现:
一种数据信息处理装置,所述数据信息处理装置包括:
管理模块,所述管理模块用于基于配置文件执行初始化操作并创建和管理共享内存;
配置信息存储模块,所述配置信息存储模块用于存储所述配置文件;
至少一个应用请求处理模块,所述至少一个应用请求处理模块中的每个用于通过访问所述共享内存并基于接收到的应用请求而执行数据信息处理操作。
在上面所公开的方案中,优选地,所述管理模块进一步包括:
初始化单元,所述初始化单元用于在所述数据信息处理装置初次启动时基于从所述配置文件读取的配置信息执行初始化操作并创建所述共享内存和注册内存表;
共享内存管理单元,所述共享内存管理单元用于执行所述共享内存的数据加载操作以及基于来自用户的扩容指令而执行所述共享内存的扩容,其中,当需要扩容时,所述共享内存管理单元向用户接口单元发送报警指令,并且所述用户通过所述用户接口单元输入所述扩容指令;
注册单元,所述注册单元用于基于所述注册内存表以及来自所述至少一个应用请求处理模块的注册请求而执行相应得注册操作;
用户接口单元,所述用户接口单元用于基于接收到的所述报警指令执行报警操作,并且将用户随后输入的所述扩容指令传送到所述共享内存管理单元。
在上面所公开的方案中,优选地,所述配置信息包括共享内存键值和共享内存容量值。
在上面所公开的方案中,优选地,所述共享内存具有属性标志位和编号标志位。
在上面所公开的方案中,优选地,所述共享内存管理单元分别将所述初始创建的共享内存的属性标志位设置为“可用”、编号标志位设置为“1”。
在上面所公开的方案中,优选地,所述注册内存表是数组的形式,并且所述数组的每个数组元素分别与所述至少一个应用请求处理模块中的每个相关联。
在上面所公开的方案中,优选地,所述至少一个应用请求处理模块中的每个在初次启动时基于所述配置文件中的所述配置信息链接到所述共享内存上,并向所述注册单元发送注册请求,其中,所述注册请求包括该应用请求处理模块当前使用的共享内存的编号。
在上面所公开的方案中,优选地,所述注册单元解析接收到的所述注册请求,并将与发送所述注册请求的应用请求处理模块相关联的数组元素的值设置为解析出的该应用请求处理模块当前使用的共享内存的编号。
在上面所公开的方案中,优选地,所述共享内存管理单元进一步用于根据所述配置文件将数据从数据库装载到所述共享内存。
在上面所公开的方案中,优选地,所述共享内存管理单元进一步用于在每次将增量数据装载到所述共享内存中时预判装载所述增量数据后的共享内存的预计使用率,其中,共享内存的预计使用率计算公式如下:(共享内存当前的使用量+增量数据在共享内存中的使用量)/当前的共享内存的初始容量。
在上面所公开的方案中,优选地,所述共享内存管理单元进一步用于如果计算出的所述共享内存的预计使用率小于预定的共享内存使用率阈值,则正常装载所述增量数据。
在上面所公开的方案中,优选地,所述共享内存管理单元进一步用于如果计算出的所述共享内存的预计使用率不小于所述共享内存使用率阈值并且小于或等于1,则正常装载所述增量数据并且向所述用户接口单元发送报警指令。
在上面所公开的方案中,优选地,所述共享内存管理单元进一步用于如果计算出的所述共享内存的预计使用率大于1,则拒绝本次增量数据装载,并且向所述用户接口单元发送报警指令。
在上面所公开的方案中,优选地,用户在接收到报警后通过所述用户接口单元输入所述扩容指令,并通过所述用户接口单元将所述扩容指令传送到所述共享内存管理单元,其中,所述扩容指令包括新的共享内存键值和新的共享内存容量值。
在上面所公开的方案中,优选地,所述共享内存管理单元进一步用于基于所述扩容指令创建新的共享内存,并将数据从数据库装载到所述新的共享内存中以及分别将所述新的共享内存的属性标志位设置为“可用”、编号标志位的值加1,随后,所述共享内存管理单元将所述新的共享内存键值和新的共享内存容量值写入所述配置文件以形成覆盖旧值的新的配置信息,同时,所述共享内存管理单元将旧的共享内存的属性标志位设置为“废弃”。
在上面所公开的方案中,优选地,所述至少一个应用请求处理模块中的每个进一步用于当每次接收到所述应用请求后判断当前使用的共享内存的属性标志位的值,并且如果当前使用的共享内存的属性标志位的值为“可用”,则读取所述当前使用的共享内存中的数据信息以执行与所述应用请求相关的数据处理操作,并且如果当前使用的共享内存的属性标志位的值为“废弃”,则断开与当前使用的共享内存的链接,并且基于配置文件中的所述新的配置信息链接到所述新的共享内存上,以便读取所述新的共享内存中的数据信息而执行与所述应用请求相关的数据处理操作。
在上面所公开的方案中,优选地,所述至少一个应用请求处理模块中的每个进一步用于当链接到所述新的共享内存上之后将所述新的共享内存作为当前使用的共享内存并向所述注册单元发送注册请求以完成注册过程,其中,所述注册请求包括所述新的共享内存的编号。
在上面所公开的方案中,优选地,在创建了所述新的共享内存之后,所述共享内存管理单元在预定时间之后自动地以遍历的方式查询作为注册内存表的所述数组中的每个数组元素,并且如果发现某个数组元素的值小于所述新的共享内存的编号,则向与该数组元素相关联的应用请求处理模块发送模拟应用请求,从而触发与该数组元素相关联的应用请求处理模块断开与旧的共享内存的链接并链接到所述新的共享内存上。
在上面所公开的方案中,优选地,所述共享内存管理单元进一步用于在所有应用请求处理模块均断开与旧的共享内存的链接并链接到新的共享内存上后释放旧的共享内存。
本发明的目的还可以通过以下技术方案实现:
一种数据信息处理方法,所述数据信息处理方法包括以下步骤:
(A1)基于配置文件执行初始化操作并创建共享内存;
(A2)通过访问所述共享内存并基于应用请求而执行数据信息处理操作。
在上面所公开的方案中,优选地,所述步骤(A1)进一步包括:
(B1)基于所述配置文件中的配置信息执行初始化操作并创建所述共享内存和注册内存表;
(B2)执行所述共享内存的数据加载操作以及基于来自用户的扩容指令而执行所述共享内存的扩容,其中,当需要扩容时向所述用户发送报警信息,并且所述用户基于所述报警信息输入所述扩容指令;
(B3)基于所述注册内存表以及来自至少一个应用进程的注册请求而执行相应的注册操作。
在上面所公开的方案中,优选地,所述配置信息包括共享内存键值和共享内存容量值。
在上面所公开的方案中,优选地,所述共享内存具有属性标志位和编号标志位。
在上面所公开的方案中,优选地,所述步骤(B1)进一步包括:分别将所述初始创建的共享内存的属性标志位设置为“可用”、编号标志位设置为“1”。
在上面所公开的方案中,优选地,所述注册内存表是数组的形式,并且所述数组的每个数组元素分别与所述至少一个应用进程中的每个相关联。
在上面所公开的方案中,优选地,所述至少一个应用进程中的每个在初次启动时基于所述配置文件中的所述配置信息链接到所述共享内存上,并且发送注册请求,其中,所述注册请求包括该应用请求处理模块当前使用的共享内存的编号。
在上面所公开的方案中,优选地,所述步骤(B3)进一步包括:解析接收到的所述注册请求,并将与发送所述注册请求的应用进程相关联的数组元素的值设置为解析出的该应用进程当前使用的共享内存的编号。
在上面所公开的方案中,优选地,所述步骤(B2)进一步包括:根据所述配置文件将数据从数据库装载到所述共享内存。
在上面所公开的方案中,优选地,所述步骤(B2)进一步包括:在每次将增量数据装载到所述共享内存中时预判装载所述增量数据后的共享内存的预计使用率,其中,共享内存的预计使用率计算公式如下:(共享内存当前的使用量+增量数据在共享内存中的使用量)/当前的共享内存的初始容量。
在上面所公开的方案中,优选地,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率小于预定的共享内存使用率阈值,则正常装载所述增量数据。
在上面所公开的方案中,优选地,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率不小于所述共享内存使用率阈值并且小于或等于1,则正常装载所述增量数据并且向所述用户发送所述报警信息。
在上面所公开的方案中,优选地,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率大于1,则拒绝本次增量数据装载,并且向所述用户发送所述报警信息。
在上面所公开的方案中,优选地,用户在接收到报警后输入所述扩容指令,其中,所述扩容指令包括新的共享内存键值和新的共享内存容量值。
在上面所公开的方案中,优选地,所述步骤(B2)进一步包括:
基于所述扩容指令创建新的共享内存,并将数据从数据库装载到所述新的共享内存中以及分别将所述新的共享内存的属性标志位设置为“可用”、编号标志位的值加1;
随后,将所述新的共享内存键值和新的共享内存容量值写入所述配置文件以形成覆盖旧值的新的配置信息,同时,将旧的共享内存的属性标志位设置为“废弃”。
在上面所公开的方案中,优选地,当每次接收到应用请求后,所述至少一个应用进程中的每个判断当前使用的共享内存的属性标志位的值,并且如果当前使用的共享内存的属性标志位的值为“可用”,则读取所述当前使用的共享内存中的数据信息以执行与所述应用请求相关的数据处理操作,并且如果当前使用的共享内存的属性标志位的值为“废弃”,则断开与当前使用的共享内存的链接,并且基于配置文件中的所述新的配置信息链接到所述新的共享内存上,以便读取所述新的共享内存中的数据信息而执行与所述应用请求相关的数据处理操作。
在上面所公开的方案中,优选地,所述至少一个应用进程中的每个在链接到所述新的共享内存上之后将所述新的共享内存作为当前使用的共享内存并发送注册请求以完成注册过程,其中,所述注册请求包括所述新的共享内存的编号。
在上面所公开的方案中,优选地,所述步骤(B2)进一步包括:在创建了所述新的共享内存之后,在预定时间之后自动地以遍历的方式查询作为注册内存表的所述数组中的每个数组元素,并且如果发现某个数组元素的值小于所述新的共享内存的编号,则向与该数组元素相关联的应用进程发送模拟应用请求,从而触发与该数组元素相关联的应用进程断开与旧的共享内存的链接并链接到所述新的共享内存上。
在上面所公开的方案中,优选地,所述步骤(B2)进一步包括:在所有应用进程均断开与旧的共享内存的链接并链接到新的共享内存上后释放旧的共享内存。
本发明所公开的数据信息处理装置及方法具有如下优点:可以以平滑切换的方式进行共享内存扩容,即在不停止应用进程(换句话说,维持业务不中断)并且不影响数据处理效率的情况下实现共享内存的扩容。
附图说明
结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的数据信息处理装置的结构图;
图2是根据本发明的实施例的数据信息处理方法的流程图。
具体实施方式
图1是根据本发明的实施例的数据信息处理装置的结构图。如图1所示,本发明所公开的数据信息处理装置包括管理模块1、配置信息存储模块2和至少一个应用请求处理模块3。其中,所述管理模块1用于基于配置文件执行初始化操作并创建和管理共享内存。所述配置信息存储模块2用于存储所述配置文件。所述至少一个应用请求处理模块3(示例性地,每个应用请求处理模块对应于一个应用进程)中的每个用于通过访问所述共享内存并基于接收到的应用请求(例如金融交易请求)而执行数据信息处理操作。
示例性地,所述应用请求来自应用终端(即业务应用的前端系统,其可以广义地包括客户终端以及网关等)。
优选地,在本发明所公开的数据信息处理装置中,所述管理模块1进一步包括初始化单元5、共享内存管理单元4、注册单元6和用户接口单元7。其中,所述初始化单元5用于在所述数据信息处理装置初次启动时基于从所述配置文件读取的配置信息执行初始化操作并创建所述共享内存和注册内存表。所述共享内存管理单元4用于执行所述共享内存的数据加载操作以及基于来自用户(即所述数据信息处理装置的管理和维护人员)的扩容指令而执行所述共享内存的扩容,其中,当需要扩容时,所述共享内存管理单元4向所述用户接口单元7发送报警指令,并且所述用户通过所述用户接口单元7输入所述扩容指令。所述注册单元6用于基于所述注册内存表以及来自所述至少一个应用请求处理模块3的注册请求而执行相应得注册操作。所述用户接口单元7用于基于接收到的所述报警指令执行报警操作,并且将用户随后输入的所述扩容指令传送到所述共享内存管理单元4。
示例性地,所述报警操作包括产生蜂鸣和/或显示报警消息。
优选地,在本发明所公开的数据信息处理装置中,所述配置信息包括共享内存键值和共享内存容量值。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存具有属性标志位(其用于标识该共享内存当前是否是可用的,示例性地,取值范围为“1:可用,0:废弃”)和编号标志位(用于标识该共享内存是第几次创建的,示例性地,其取值范围为从1开始的自然数)。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存管理单元4分别将所述初始创建的共享内存的属性标志位设置为“可用”、编号标志位设置为“1”。
优选地,在本发明所公开的数据信息处理装置中,所述注册内存表是数组的形式,并且所述数组的每个数组元素分别与所述至少一个应用请求处理模块3中的每个相关联(例如为每个应用请求处理模块分配1位数组下标)。
优选地,在本发明所公开的数据信息处理装置中,所述至少一个应用请求处理模块3中的每个在初次启动时基于所述配置文件中的所述配置信息链接到所述共享内存上,并向所述注册单元6发送注册请求,其中,所述注册请求包括该应用请求处理模块当前使用的共享内存的编号。
优选地,在本发明所公开的数据信息处理装置中,所述注册单元6解析接收到的所述注册请求,并将与发送所述注册请求的应用请求处理模块相关联的数组元素的值设置为解析出的该应用请求处理模块当前使用的共享内存的编号。
由上可见,示例性地,当所述数据信息处理装置初次启动后,用作注册内存表的所述数组的每个数组元素的值均为“1”。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存管理单元4进一步用于根据所述配置文件将数据从数据库装载到所述共享内存。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存管理单元4进一步用于在每次将增量数据装载到所述共享内存中时预判装载所述增量数据后的共享内存的预计使用率,其中,共享内存的预计使用率计算公式如下:(共享内存当前的使用量+增量数据在共享内存中的使用量)/当前的共享内存的初始容量。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存管理单元4进一步用于如果计算出的所述共享内存的预计使用率小于预定的共享内存使用率阈值,则正常装载所述增量数据。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存管理单元4进一步用于如果计算出的所述共享内存的预计使用率不小于(即大于或等于)所述共享内存使用率阈值并且小于或等于1,则正常装载所述增量数据并且向所述用户接口单元7发送报警指令。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存管理单元4进一步用于如果计算出的所述共享内存的预计使用率大于1,则拒绝本次增量数据装载,并且向所述用户接口单元7发送报警指令。
示例性地,在本发明所公开的数据信息处理装置中,用户(即所述数据信息处理装置的管理和维护人员)在接收到报警后通过所述用户接口单元7输入所述扩容指令,并通过所述用户接口单元7将所述扩容指令传送到所述共享内存管理单元4,其中,所述扩容指令包括新的共享内存键值和新的共享内存容量值。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存管理单元4进一步用于基于所述扩容指令创建新的共享内存,并将数据从数据库装载到所述新的共享内存中以及分别将所述新的共享内存的属性标志位设置为“可用”、编号标志位的值加1(示例性地,例如设置为“2”),随后,所述共享内存管理单元4将所述新的共享内存键值和新的共享内存容量值写入所述配置文件以形成覆盖旧值的新的配置信息,同时,所述共享内存管理单元4将旧的共享内存的属性标志位设置为“废弃”。
优选地,在本发明所公开的数据信息处理装置中,所述至少一个应用请求处理模块3中的每个进一步用于当每次接收到所述应用请求后判断当前使用的共享内存的属性标志位的值,并且如果当前使用的共享内存的属性标志位的值为“可用”,则读取所述当前使用的共享内存中的数据信息以执行与所述应用请求相关的数据处理操作,并且如果当前使用的共享内存的属性标志位的值为“废弃”,则断开与当前使用的共享内存的链接,并且基于配置文件中的所述新的配置信息链接到所述新的共享内存上,以便读取所述新的共享内存中的数据信息而执行与所述应用请求相关的数据处理操作。
优选地,在本发明所公开的数据信息处理装置中,所述至少一个应用请求处理模块3中的每个进一步用于当链接到所述新的共享内存上之后将所述新的共享内存作为当前使用的共享内存并向所述注册单元6发送注册请求以完成注册过程,其中,所述注册请求包括所述新的共享内存(即当前使用的共享内存)的编号。
由上可见,当创建了新的共享内存后,旧的共享内存并不会马上消失,所述至少一个应用请求处理模块3中的每个在接收到下一个应用请求时会判断当前使用的共享内存的属性标志位的值,并基于判断结果断开与旧的共享内存的链接并链接到新的共享内存上,同时完成新的注册过程。然而,由于不同的应用请求处理模块对应不同的业务应用类型,因此,在预定的时间期间内(例如1秒内),并不是所有的应用请求处理模块均会接收到应用请求(即某些业务应用类型较少发生自然业务需求),从而可能会导致在预定的时间期间之后,一些应用请求处理模块还未链接到新的共享内存上。
为了避免上述情况,优选地,在本发明所公开的数据信息处理装置中,在创建了所述新的共享内存之后,所述共享内存管理单元4在预定时间(例如1秒)之后自动地以遍历的方式查询作为注册内存表的所述数组中的每个数组元素,并且如果发现某个数组元素的值(即共享内存的编号)小于所述新的共享内存的编号,则向与该数组元素相关联的应用请求处理模块发送模拟应用请求(即根据该应用请求处理模块对应的业务应用类型模拟构造相应的业务报文),从而触发与该数组元素相关联的应用请求处理模块断开与旧的共享内存的链接并链接到所述新的共享内存上。
优选地,在本发明所公开的数据信息处理装置中,所述共享内存管理单元4进一步用于在所有应用请求处理模块均断开与旧的共享内存的链接并链接到新的共享内存上后释放旧的共享内存。
图2是根据本发明的实施例的数据信息处理方法的流程图。如图2所示,本发明所公开的数据信息处理方法包括以下步骤:(A1)基于配置文件执行初始化操作并创建共享内存;(A2)通过访问所述共享内存并基于应用请求(例如金融交易请求)而执行数据信息处理操作。
示例性地,所述应用请求来自应用终端(即业务应用的前端系统,其可以广义地包括客户终端以及网关等)。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(A1)进一步包括:(B1)基于所述配置文件中的配置信息执行初始化操作并创建所述共享内存和注册内存表;(B2)执行所述共享内存的数据加载操作以及基于来自用户(即所述数据信息处理装置的管理和维护人员)的扩容指令而执行所述共享内存的扩容,其中,当需要扩容时向所述用户发送报警信息,并且所述用户基于所述报警信息输入所述扩容指令;(B3)基于所述注册内存表以及来自至少一个应用进程的注册请求而执行相应的注册操作。
示例性地,通过蜂鸣和/或显示消息对话框的方式向所述用户发送所述报警信息。
优选地,在本发明所公开的数据信息处理方法中,所述配置信息包括共享内存键值和共享内存容量值。
优选地,在本发明所公开的数据信息处理方法中,所述共享内存具有属性标志位(其用于标识该共享内存当前是否是可用的,示例性地,取值范围为“1:可用,0:废弃”)和编号标志位(用于标识该共享内存是第几次创建的,示例性地,其取值范围为从1开始的自然数)。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B1)进一步包括:分别将所述初始创建的共享内存的属性标志位设置为“可用”、编号标志位设置为“1”。
优选地,在本发明所公开的数据信息处理方法中,所述注册内存表是数组的形式,并且所述数组的每个数组元素分别与所述至少一个应用进程中的每个相关联(例如为每个应用进程分配1位数组下标)。
优选地,在本发明所公开的数据信息处理方法中,所述至少一个应用进程中的每个在初次启动时基于所述配置文件中的所述配置信息链接到所述共享内存上,并且发送注册请求,其中,所述注册请求包括该应用请求处理模块当前使用的共享内存的编号。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B3)进一步包括:解析接收到的所述注册请求,并将与发送所述注册请求的应用进程相关联的数组元素的值设置为解析出的该应用进程当前使用的共享内存的编号。
由上可见,示例性地,在所述至少一个应用进程均已启动后,用作注册内存表的所述数组的每个数组元素的值均为“1”。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B2)进一步包括:根据所述配置文件将数据从数据库装载到所述共享内存。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B2)进一步包括:在每次将增量数据装载到所述共享内存中时预判装载所述增量数据后的共享内存的预计使用率,其中,共享内存的预计使用率计算公式如下:(共享内存当前的使用量+增量数据在共享内存中的使用量)/当前的共享内存的初始容量。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率小于预定的共享内存使用率阈值,则正常装载所述增量数据。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率不小于(即大于或等于)所述共享内存使用率阈值并且小于或等于1,则正常装载所述增量数据并且向所述用户发送所述报警信息。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率大于1,则拒绝本次增量数据装载,并且向所述用户发送所述报警信息。
示例性地,在本发明所公开的数据信息处理方法中,用户(即所述数据信息处理装置的管理和维护人员)在接收到报警后输入所述扩容指令,其中,所述扩容指令包括新的共享内存键值和新的共享内存容量值。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B2)进一步包括:基于所述扩容指令创建新的共享内存,并将数据从数据库装载到所述新的共享内存中以及分别将所述新的共享内存的属性标志位设置为“可用”、编号标志位的值加1(示例性地,例如设置为“2”);随后,将所述新的共享内存键值和新的共享内存容量值写入所述配置文件以形成覆盖旧值的新的配置信息,同时,将旧的共享内存的属性标志位设置为“废弃”。
优选地,在本发明所公开的数据信息处理方法中,当每次接收到应用请求后,所述至少一个应用进程中的每个判断当前使用的共享内存的属性标志位的值,并且如果当前使用的共享内存的属性标志位的值为“可用”,则读取所述当前使用的共享内存中的数据信息以执行与所述应用请求相关的数据处理操作,并且如果当前使用的共享内存的属性标志位的值为“废弃”,则断开与当前使用的共享内存的链接,并且基于配置文件中的所述新的配置信息链接到所述新的共享内存上,以便读取所述新的共享内存中的数据信息而执行与所述应用请求相关的数据处理操作。
优选地,在本发明所公开的数据信息处理方法中,所述至少一个应用进程中的每个在链接到所述新的共享内存上之后将所述新的共享内存作为当前使用的共享内存并发送注册请求以完成注册过程,其中,所述注册请求包括所述新的共享内存(即当前使用的共享内存)的编号。
由上可见,当创建了新的共享内存后,旧的共享内存并不会马上消失,所述至少一个应用进程中的每个在接收到下一个应用请求时会判断当前使用的共享内存的属性标志位的值,并基于判断结果断开与旧的共享内存的链接并链接到新的共享内存上,同时完成新的注册过程。然而,由于不同的应用进程对应不同的业务应用类型,因此,在预定的时间期间内(例如1秒内),并不是所有的应用进程均会接收到应用请求(即某些业务应用类型较少发生自然业务需求),从而可能会导致在预定的时间期间之后,一些应用进程还未链接到新的共享内存上。
为了避免上述情况,优选地,在本发明所公开的数据信息处理方法中,所述步骤(B2)进一步包括:在创建了所述新的共享内存之后,在预定时间(例如1秒)之后自动地以遍历的方式查询作为注册内存表的所述数组中的每个数组元素,并且如果发现某个数组元素的值(即共享内存的编号)小于所述新的共享内存的编号,则向与该数组元素相关联的应用进程发送模拟应用请求(即根据该应用进程对应的业务应用类型模拟构造相应的业务报文),从而触发与该数组元素相关联的应用进程断开与旧的共享内存的链接并链接到所述新的共享内存上。
优选地,在本发明所公开的数据信息处理方法中,所述步骤(B2)进一步包括:在所有应用进程均断开与旧的共享内存的链接并链接到新的共享内存上后释放旧的共享内存。
尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。
Claims (34)
1.一种数据信息处理装置,所述数据信息处理装置包括:
管理模块,所述管理模块用于基于配置文件执行初始化操作并创建和管理共享内存;
配置信息存储模块,所述配置信息存储模块用于存储所述配置文件;
至少一个应用请求处理模块,所述至少一个应用请求处理模块中的每个用于通过访问所述共享内存并基于接收到的应用请求而执行数据信息处理操作;
其中,所述管理模块进一步包括:
初始化单元,所述初始化单元用于在所述数据信息处理装置初次启动时基于从所述配置文件读取的配置信息执行初始化操作并创建所述共享内存和注册内存表;
共享内存管理单元,所述共享内存管理单元用于执行所述共享内存的数据加载操作以及基于来自用户的扩容指令而执行所述共享内存的扩容,其中,当需要扩容时,所述共享内存管理单元向用户接口单元发送报警指令,并且所述用户通过所述用户接口单元输入所述扩容指令;
注册单元,所述注册单元用于基于所述注册内存表以及来自所述至少一个应用请求处理模块的注册请求而执行相应得注册操作;
用户接口单元,所述用户接口单元用于基于接收到的所述报警指令执行报警操作,并且将用户随后输入的所述扩容指令传送到所述共享内存管理单元;
其中,所述注册内存表是数组的形式,并且所述数组的每个数组元素分别与所述至少一个应用请求处理模块中的每个相关联。
2.根据权利要求1所述的数据信息处理装置,其特征在于,所述配置信息包括共享内存键值和共享内存容量值。
3.根据权利要求2所述的数据信息处理装置,其特征在于,所述共享内存具有属性标志位和编号标志位。
4.根据权利要求3所述的数据信息处理装置,其特征在于,所述共享内存管理单元分别将所述初始创建的共享内存的属性标志位设置为 “可用”、编号标志位设置为“1”。
5.根据权利要求4所述的数据信息处理装置,其特征在于,所述至少一个应用请求处理模块中的每个在初次启动时基于所述配置文件中的所述配置信息链接到所述共享内存上,并向所述注册单元发送注册请求,其中,所述注册请求包括该应用请求处理模块当前使用的共享内存的编号。
6.根据权利要求5所述的数据信息处理装置,其特征在于,所述注册单元解析接收到的所述注册请求,并将与发送所述注册请求的应用请求处理模块相关联的数组元素的值设置为解析出的该应用请求处理模块当前使用的共享内存的编号。
7.根据权利要求6所述的数据信息处理装置,其特征在于,所述共享内存管理单元进一步用于根据所述配置文件将数据从数据库装载到所述共享内存。
8.根据权利要求7所述的数据信息处理装置,其特征在于,所述共享内存管理单元进一步用于在每次将增量数据装载到所述共享内存中时预判装载所述增量数据后的共享内存的预计使用率,其中,共享内存的预计使用率计算公式如下:(共享内存当前的使用量+增量数据在共享内存中的使用量)/当前的共享内存的初始容量。
9.根据权利要求8所述的数据信息处理装置,其特征在于,所述共享内存管理单元进一步用于如果计算出的所述共享内存的预计使用率小于预定的共享内存使用率阈值,则正常装载所述增量数据。
10.根据权利要求9所述的数据信息处理装置,其特征在于,所述共享内存管理单元进一步用于如果计算出的所述共享内存的预计使用率不小于所述共享内存使用率阈值并且小于或等于1,则正常装载所述增量数据并且向所述用户接口单元发送报警指令。
11.根据权利要求10所述的数据信息处理装置,其特征在于,所述共享内存管理单元进一步用于如果计算出的所述共享内存的预计使用率大于1,则拒绝本次增量数据装载,并且向所述用户接口单元发送报警指令。
12.根据权利要求11所述的数据信息处理装置,其特征在于,用户在接收到报警后通过所述用户接口单元输入所述扩容指令,并通过所述用户接口单元将所述扩容指令传送到所述共享内存管理单元,其中,所述扩容指令包括新的共享内存键值和新的共享内存容量值。
13.根据权利要求12所述的数据信息处理装置,其特征在于,所述共享内存管理单元进一步用于基于所述扩容指令创建新的共享内存,并将所述增量数据从数据库装载到所述新的共享内存中以及分别将所述新的共享内存的属性标志位设置为“可用”、编号标志位的值加1,随后,所述共享内存管理单元将所述新的共享内存键值和新的共享内存容量值写入所述配置文件以形成覆盖旧值的新的配置信息,同时,所述共享内存管理单元将旧的共享内存的属性标志位设置为“废弃”。
14.根据权利要求13所述的数据信息处理装置,其特征在于,所述至少一个应用请求处理模块中的每个进一步用于当每次接收到所述应用请求后判断当前使用的共享内存的属性标志位的值,并且如果当前使用的共享内存的属性标志位的值为“可用”,则读取所述当前使用的共享内存中的数据信息以执行与所述应用请求相关的数据处理操作,并且如果当前使用的共享内存的属性标志位的值为“废弃”,则断开与当前使用的共享内存的链接,并且基于配置文件中的所述新的配置信息链接到所述新的共享内存上,以便读取所述新的共享内存中的数据信息而执行与所述应用请求相关的数据处理操作。
15.根据权利要求14所述的数据信息处理装置,其特征在于,所述至少一个应用请求处理模块中的每个进一步用于当链接到所述新的共享内存上之后将所述新的共享内存作为当前使用的共享内存并向所述注册单元发送注册请求以完成注册过程,其中,所述注册请求包括所述新的共享内存的编号。
16.根据权利要求15所述的数据信息处理装置,其特征在于,在创建了所述新的共享内存之后,所述共享内存管理单元在预定时间之后自动地以遍历的方式查询作为注册内存表的所述数组中的每个数组元素,并且如果发现某个数组元素的值小于所述新的共享内存的编号,则向与 该数组元素相关联的应用请求处理模块发送模拟应用请求,从而触发与该数组元素相关联的应用请求处理模块断开与旧的共享内存的链接并链接到所述新的共享内存上。
17.根据权利要求16所述的数据信息处理装置,其特征在于,所述共享内存管理单元进一步用于在所有应用请求处理模块均断开与旧的共享内存的链接并链接到新的共享内存上后释放旧的共享内存。
18.一种数据信息处理方法,所述数据信息处理方法包括以下步骤:
(A1)基于配置文件执行初始化操作并创建共享内存;
(A2)通过访问所述共享内存并基于应用请求而执行数据信息处理操作;
其中,所述步骤(A1)进一步包括:
(B1)基于所述配置文件中的配置信息执行初始化操作并创建所述共享内存和注册内存表;
(B2)执行所述共享内存的数据加载操作以及基于来自用户的扩容指令而执行所述共享内存的扩容,其中,当需要扩容时向所述用户发送报警信息,并且所述用户基于所述报警信息输入所述扩容指令;
(B3)基于所述注册内存表以及来自至少一个应用进程的注册请求而执行相应的注册操作;
其中,所述注册内存表是数组的形式,并且所述数组的每个数组元素分别与所述至少一个应用进程中的每个相关联。
19.根据权利要求18所述的数据信息处理方法,其特征在于,所述配置信息包括共享内存键值和共享内存容量值。
20.根据权利要求19所述的数据信息处理方法,其特征在于,所述共享内存具有属性标志位和编号标志位。
21.根据权利要求20所述的数据信息处理方法,其特征在于,所述步骤(B1)进一步包括:分别将所述初始创建的共享内存的属性标志位设置为“可用”、编号标志位设置为“1”。
22.根据权利要求21所述的数据信息处理方法,其特征在于,所述至少一个应用进程中的每个在初次启动时基于所述配置文件中的所述配置信息链接到所述共享内存上,并且发送注册请求,其中,所述注册请求包括该应用请求处理模块当前使用的共享内存的编号。
23.根据权利要求22所述的数据信息处理方法,其特征在于,所述步骤(B3)进一步包括:解析接收到的所述注册请求,并将与发送所述注册请求的应用进程相关联的数组元素的值设置为解析出的该应用进程当前使用的共享内存的编号。
24.根据权利要求23所述的数据信息处理方法,其特征在于,所述步骤(B2)进一步包括:根据所述配置文件将数据从数据库装载到所述共享内存。
25.根据权利要求24所述的数据信息处理方法,其特征在于,所述步骤(B2)进一步包括:在每次将增量数据装载到所述共享内存中时预判装载所述增量数据后的共享内存的预计使用率,其中,共享内存的预计使用率计算公式如下:(共享内存当前的使用量+增量数据在共享内存中的使用量)/当前的共享内存的初始容量。
26.根据权利要求25所述的数据信息处理方法,其特征在于,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率小于预定的共享内存使用率阈值,则正常装载所述增量数据。
27.根据权利要求26所述的数据信息处理方法,其特征在于,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率不小于所述共享内存使用率阈值并且小于或等于1,则正常装载所述增量数据并且向所述用户发送所述报警信息。
28.根据权利要求27所述的数据信息处理方法,其特征在于,所述步骤(B2)进一步包括:如果计算出的所述共享内存的预计使用率大于1,则拒绝本次增量数据装载,并且向所述用户发送所述报警信息。
29.根据权利要求28所述的数据信息处理方法,其特征在于,用户在接收到报警后输入所述扩容指令,其中,所述扩容指令包括新的共享内存键值和新的共享内存容量值。
30.根据权利要求29所述的数据信息处理方法,其特征在于,所述步骤(B2)进一步包括:
基于所述扩容指令创建新的共享内存,并将所述增量数据从数据库装载到所述新的共享内存中以及分别将所述新的共享内存的属性标志位设置为“可用”、编号标志位的值加1;
随后,将所述新的共享内存键值和新的共享内存容量值写入所述配置文件以形成覆盖旧值的新的配置信息,同时,将旧的共享内存的属性标志位设置为“废弃”。
31.根据权利要求30所述的数据信息处理方法,其特征在于,当每次接收到应用请求后,所述至少一个应用进程中的每个判断当前使用的共享内存的属性标志位的值,并且如果当前使用的共享内存的属性标志位的值为“可用”,则读取所述当前使用的共享内存中的数据信息以执行与所述应用请求相关的数据处理操作,并且如果当前使用的共享内存的属性标志位的值为“废弃”,则断开与当前使用的共享内存的链接,并且基于配置文件中的所述新的配置信息链接到所述新的共享内存上,以便读取所述新的共享内存中的数据信息而执行与所述应用请求相关的数据处理操作。
32.根据权利要求31所述的数据信息处理方法,其特征在于,所述至少一个应用进程中的每个在链接到所述新的共享内存上之后将所述新的共享内存作为当前使用的共享内存并发送注册请求以完成注册过程,其中,所述注册请求包括所述新的共享内存的编号。
33.根据权利要求32所述的数据信息处理方法,其特征在于,所述步骤(B2)进一步包括:在创建了所述新的共享内存之后,在预定时间之后自动地以遍历的方式查询作为注册内存表的所述数组中的每个数组元素,并且如果发现某个数组元素的值小于所述新的共享内存的编号,则向与该数组元素相关联的应用进程发送模拟应用请求,从而触发与该数组元素相关联的应用进程断开与旧的共享内存的链接并链接到所述新的共享内存上。
34.根据权利要求33所述的数据信息处理方法,其特征在于,所述步骤(B2)进一步包括:在所有应用进程均断开与旧的共享内存的链接并链接到新的共享内存上后释放旧的共享内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210125715.0A CN103377073B (zh) | 2012-04-26 | 2012-04-26 | 数据信息处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210125715.0A CN103377073B (zh) | 2012-04-26 | 2012-04-26 | 数据信息处理装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103377073A CN103377073A (zh) | 2013-10-30 |
CN103377073B true CN103377073B (zh) | 2016-09-28 |
Family
ID=49462234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210125715.0A Active CN103377073B (zh) | 2012-04-26 | 2012-04-26 | 数据信息处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103377073B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557535B (zh) * | 2016-06-23 | 2020-10-30 | 哈尔滨安天科技集团股份有限公司 | 一种大数据级Pcap文件的处理方法及系统 |
CN110333824B (zh) * | 2019-06-05 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 一种存储系统的扩容方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0276043A (ja) * | 1988-09-13 | 1990-03-15 | Toshiba Corp | 情報処理装置 |
CN100555282C (zh) * | 2006-10-09 | 2009-10-28 | 中兴通讯股份有限公司 | 一种内存数据库扩容的方法 |
CN102222107A (zh) * | 2011-06-28 | 2011-10-19 | 中国联合网络通信集团有限公司 | 数据存取系统及其数据存取方法 |
-
2012
- 2012-04-26 CN CN201210125715.0A patent/CN103377073B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103377073A (zh) | 2013-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944628B2 (en) | Network operation support system and network device management method | |
CN100483324C (zh) | Scsi和sas硬件有效性的系统和方法 | |
CN102411639B (zh) | 元数据的多副本存储管理方法和系统 | |
CN102023973A (zh) | 一种应用缓存服务器与数据库同步的方法、装置和系统 | |
CN102609349A (zh) | 服务器故障截屏方法及系统 | |
CN104838373A (zh) | 基于单个微控制器的多个计算节点管理 | |
CN109787882A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN103995755A (zh) | 基于移动终端的服务器优化方法及服务器系统 | |
CN103067297A (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
CN110333956A (zh) | 消息队列中消息存储方法、装置、介质及电子设备 | |
CN103138912A (zh) | 数据同步方法及系统 | |
CN102982182A (zh) | 一种数据存储规划方法及装置 | |
CN104144202B (zh) | Hadoop分布式文件系统的访问方法、系统和装置 | |
CN102455976A (zh) | 一种中间件内存管理方案 | |
CN102708063B (zh) | 磁盘空间管理方法及装置 | |
CN108090000A (zh) | 一种获取cpu寄存器信息的方法及系统 | |
CN100485629C (zh) | 群聚式计算机系统高速缓存数据备份处理方法及系统 | |
CN103778149A (zh) | 文件系统及其对文件进行存储管理的方法 | |
CN103778120A (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件系统 | |
CN103377073B (zh) | 数据信息处理装置及方法 | |
CN103763126A (zh) | 监控数据库的系统、方法及数据库监控装置 | |
CN105404530A (zh) | 一种实现简易部署和使用私有云的系统及方法 | |
CN104753992A (zh) | 一种数据存储、虚拟平台故障恢复的方法、设备和系统 | |
CN101626313A (zh) | 网管系统客户端性能数据显示方法和网管系统客户端 | |
CN109783429A (zh) | 一种fpga加速卡拓展盘柜及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |