数据加载和刷新方法及装置的制造方法

文档序号:9921872阅读:269来源:国知局
数据加载和刷新方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据处理领域,尤其涉及一种数据加载和刷新方法及装置。
【背景技术】
[0002]目前,在办公OA系统、ERP系统等应用系统中不可避免地会使用到大量的基础数据代码表,例如,用户代码表、组织机构代码表等这样数据量较大的表。而这些代码表往往也是使用率最高的表,反复执行对它们的查询必然降低系统运行效率与用户体验。为了提高降低查询对系统运行效率和用户体验的影响,现有技术中也给出了一些方法。
[0003]现有技术中的一种方法为:将主系统与子系统需要共用的数据在主系统启动时加载到内存中,不同子系统生成不同的数据加载任务并放入任务队列,任务队列中的数据加载任务被依次执行,主系统向不同子系统发送内存中的数据,从而实现主系统与各个子系统的数据共享,减少了数据库查询,提高了系统运行效率与用户体验。
[0004]上述现有技术中的缺点为:数据的加载过程过于复杂,如果数据量过大对内存的要求过高,而且主系统分别向多个子系统都发送内存中的数据容易造成主系统运行效率降低。

【发明内容】

[0005]本发明的实施例提供了一种数据加载和刷新方法及装置,以解决现有技术中数据的加载过程过于复杂,如果数据量过大对内存的要求过高,而且主系统分别向多个子系统都发送内存中的数据容易造成主系统运行效率降低的问题。
[0006]根据本发明的一个方面,提供了一种数据加载和刷新方法,包括:将各个子系统需要用到的基础数据从数据库加载到内存中,得到共享数据;在子系统向主系统发起数据请求时,将共享数据发送给子系统;当基础数据有更新时,根据预定的刷新机制对内存中的共享数据进行刷新。
[0007]优选地,将各个子系统需要用到的基础数据从数据库加载到内存中,得到共享数据,包括:对主系统进行分析,归纳出各个子系统需要共用的基础数据;在主系统启动的过程中,在内存中建立HashMap,并将基础数据以键值对的形式加载到HashMap中,得到共享数据。
[0008]优选地,基础数据包括:用户代码信息、或者组织结构代码信息。
[0009]优选地,预定的刷新机制包括:增量实时刷新、全量自动刷新,或全量手动刷新,其中:增量实时刷新,是指当用户在应用中对同时存在于数据库和内存中的基础数据进行维护时,对数据库中的基础数据进行刷新且对内存中相应的HashMap中的共享数据进行刷新;全量自动刷新,是指使用定时任务调度机制定时对内存中HashMap中的共享数据进行清除后再重新加载;全量手动刷新,是指通过预置的刷新功能接口接收到用户的全量刷新指令时,清除内存中HashMap中的共享数据后重新加载。
[0010]优选地,定时任务调度机制采用开源框架Quartz。
[0011]根据本发明的另一个方面,提供了一种数据加载和刷新装置,包括:加载模块,用于将各个子系统需要用到的基础数据从数据库加载到内存中,得到共享数据;发送模块,用于在子系统向主系统发起数据请求时,将共享数据发送给子系统;刷新模块,用于当基础数据有更新时,根据预定的刷新机制对内存中的共享数据进行刷新。
[0012]优选地,加载模块包括:第一处理单元,用于对主系统进行分析,归纳出各个子系统需要共用的基础数据;第二处理单元,用于在主系统启动的过程中,在内存中建立HashMap,并将基础数据以键值对的形式加载到HashMap中,得到共享数据。
[0013]优选地,基础数据包括:用户代码信息、或者组织结构代码信息。
[0014]优选地,预定的刷新机制包括:增量实时刷新、全量自动刷新,或全量手动刷新,其中:增量实时刷新,是指当用户在应用中对同时存在于数据库和内存中的基础数据进行维护时,对数据库中的基础数据进行刷新且对内存中相应的HashMap中的共享数据进行刷新;全量自动刷新,是指使用定时任务调度机制定时对内存中HashMap中的共享数据进行清除后再重新加载;全量手动刷新,是指通过预置的刷新功能接口接收到用户的全量刷新指令时,清除内存中HashMap中的共享数据后重新加载。
[0015]优选地,定时任务调度机制采用开源框架Quartz。
[0016]由上述本发明的实施例提供的技术方案可以看出,本发明实施例具有以下有益效果:将各子系统需要共用的数据从数据库张转移存储在内存中,当子系统有数据请求时,只需将内存中的数据发送给子系统即可,无需再对数据库进行访问,从而提高系统的运行效率,而且采用刷新机制对共享数据进行刷新,可以避免系统中充斥大量的垃圾数据,还可以保证主系统和子系统之间的数据一致性。
【附图说明】
[0017]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是根据本发明实施例的数据加载和刷新方法的流程图;
[0019]图2是根据本发明实施例的数据加载和刷新装置的结构框图;
[0020]图3是根据本发明实施例的优选数据加载和刷新装置的结构框图;
[0021]图4是根据本发明优选实施例的以加载组织机构代码表到共享内存为例的数据加载流程图;以及
[0022]图5是根据本发明优选实施例的以刷新共享内存中组织机构信息为例的刷新子系统的架构示意图。
【具体实施方式】
[0023]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0024]首先,对本发明实施例解决其技术问题的思路进行简单介绍:
[0025]通过对应用系统(即主系统)的分析,归纳出各个子系统(即子模块)需要共用的基础数据,在应用系统的启动过程中将这些基础数据加载到内存中,以供各个子模块使用,这样就可以减少数据库查询次数,提升系统运行效率和用户体验的效果。同时,建立一个完善的共享数据刷新子系统(采用预制的刷新机制),实现对共享数据的增量或全量、自动或手动的刷新操作,从而可以保证主系统与子系统之间的数据一致性、避免各系统中充斥大量垃圾数据而导致数据可用性大大降低。
[0026]本发明实施例提供了一种数据加载和刷新方法。图1是根据本发明实施例的数据加载和刷新方法的流程图,如图1所示,该方法包括以下步骤(步骤S102-步骤S106):
[0027]步骤S102、将各个子系统需要用到的基础数据从数据库加载到内存中,得到共享数据。
[0028]步骤S104、在子系统向主系统发起数据请求时,将共享数据发送给子系统。
[0029]步骤S106、当基础数据有更新时,根据预定的刷新机制对内存中的共享数据进行刷新。
[0030]通过上述各个步骤,将各子系统需要共用的数据从数据库张转移存储在内存中,当子系统有数据请求时,只需将内存中的数据发送给子系统即可,无需再对数据库进行访问,从而提高系统的运行效率,而且采用刷新机制对共享数据进行刷新,可以避免系统中充斥大量的垃圾数据,还可以保证主系统和子系统之间的数据一致性。
[0031]在本发明实施例中,上述步骤S102可以通过这样的方式来实现:先对主系统进行分析,归纳出各个子系统需要共用的基础数据,再在主系统启动的过程中,在内存中建立HashMap,并将基础数据以键值对的形式加载到HashMap中,得到共享数据。
[0032]其中,基础数据可以包括:用户代码信息、或者组织结构代码信息。当,在实际应用中,基础数据还可以包括其他类型的数据,例如,业务类型名称等。将用户代码信息或者组织机构代码信息保存在内存中后,如果子系统有数据请求,就可以将这些信息发送给子系统。
[0033]在本实施例中,预定的刷新机制可以包括:增量实时刷新、全量自动刷新,或全量手动刷新,其中:增量实时刷新,是指当用户在应用中对同时存在于数据库和内存中的基础数据进行维护时,对数据库中的基础数据进行刷新且对内存中相应的HashMap中的共享数据进行刷新;全量自动刷新,是指使用定时任务调度机制定时对内存中HashMap中的共享数据进行清除后再重新加载;全量手动刷新,是指通过预置的刷新功能接口接收到用户的全量刷新指令时,清除内存中HashMap中的共享数据后重新加载。
[0034]在本实施例的一个优选实施方式中,定时任务调度机制可以采用开源框架Quartz。当然,并不局限于此。
[0035]对应于上述数据加载和刷新方法,本发明实施例还提供了一种数据加载和刷新装置,用于执行上述数据加载和刷新方法。图2是根据本发明实施例的数据加载和刷新装置的结构框图,如图2所示,该装置包括:加载模块10、发送模块20以及刷新模块30,其中:
[0036]加载模块10,用于将各个子系统需要用到的基础数据从数据库加载到内存中,得到共享数据;发送模块20,连接至加载模块10,用于在子系统向主系统发起数据请求时,将共享数据发送给子系统;刷新模块30,连接至发送模块20,用于当基础数据有更新时,根据预定的刷新机制对内存中的共享数据进行刷新。
[0037]在图2所示的数据加载和刷新装置的基础上,本发明实施例还提供了一种优选数据加载和刷新装置。图3是根据本发明实施例的优选数据加载和刷新装置的结构框图,如图3所示,在该优选数据加载和刷新装置中:
[0038]加载模块10可以进一步包括:第一处理单元12,用于对主系统进行分析,归纳出各个子系统需要共用的基础数据;第二处理单元14,连接至第一处理单元12,用于在主系统启动的过程中,在内存中建立HashMap,并将基础数据以键值对的形式加载到HashMap中,得到共享数据。
[0039]在图2所示的数据加载和刷新装置或图3所示的优选数据加载和刷新装置中,基础数据可以包括:用户代码信息、或者组织结构代码信息。
[0040]其中,预定的刷新机制包括:增量实时刷新
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1