业务数据处理方法及装置与流程

文档序号:12464999阅读:182来源:国知局
业务数据处理方法及装置与流程

本发明实施例属于通信领域,尤其涉及一种业务数据处理方法及装置。



背景技术:

oralce数据库(Oracle Database,Oracle)是甲骨文公司的一款关系数据库管理系统,该系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。

目前,人寿产品的保费、现价、红利等算法程序一般放在oralce数据库中,再通过前端系统直接与oralce数据库进行交互。但在抢售等业务的使用场景下,由于抢售会在短时间内出现业务的高峰,因此在前端系统与oralce数据库进行交互时会消耗过大的oralce数据库资源,从而使得oralce数据库难以有效支持业务使用,且很可能直接造成宕机。



技术实现要素:

本发明实施例提供了一种业务数据处理方法及装置,旨在解决现有的方法使得oralce数据库难以有效支持业务使用,且很可能直接造成宕机的问题。

本发明实施例第一方面,提供了一种业务数据处理方法,所述方法包括:

接收应用服务启动指令后,读取oralce数据库中的业务算法及所述业务算法涉及的数据;

缓存读取的所述业务算法及所述业务算法涉及的数据;

接收业务算法调用指令,所述业务算法调用指令携带业务算法的唯一标识;

根据所述业务算法调用指令调用缓存的对应的业务算法以及所述业务算法涉及的数据;

根据调用的业务算法以及所述业务算法涉及的数据处理指定的业务数据。

本发明实施例的第二方面,提供一种业务数据处理装置,所述装置包括:

业务算法读取单元,用于接收应用服务启动指令后,读取oralce数据库中的业务算法及所述业务算法涉及的数据;

业务算法缓存单元,用于缓存读取的所述业务算法及所述业务算法涉及的数据;

业务算法调用指令接收单元,用于接收业务算法调用指令,所述业务算法调用指令携带业务算法的唯一标识;

业务算法调用单元,用于根据所述业务算法调用指令调用缓存的对应的业务算法以及所述业务算法涉及的数据;

业务数据处理单元,用于根据调用的业务算法以及所述业务算法涉及的数据处理指定的业务数据。

在本发明实施例中,由于将oralce数据库中的业务算法及所述业务算法涉及的数据缓存至服务器中,因此,服务器能够快速调用与业务算法调用指令对应的业务算法及所述业务算法涉及的数据,提高了业务算法的调用速度,并且,由于业务算法以及所述业务算法涉及的数据都已缓存至服务器中,因此,减少了对oralce数据库资源的消耗,从而避免了oralce数据库出现宕机的情况。

附图说明

图1是本发明第一实施例提供的一种业务数据处理方法的流程图;

图2是本发明第二实施例提供的一种业务数据处理装置的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,接收应用服务启动指令后,读取oralce数据库中的业务算法及所述业务算法涉及的数据,缓存读取的所述业务算法及所述业务算法涉及的数据,接收业务算法调用指令,所述业务算法调用指令携带业务算法的唯一标识,根据所述业务算法调用指令调用缓存的对应的业务算法以及所述业务算法涉及的数据,根据调用的业务算法以及所述业务算法涉及的数据处理指定的业务数据。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种业务数据处理方法的流程图,详述如下:

步骤S11,接收应用服务启动指令后,读取oralce数据库中的业务算法及所述业务算法涉及的数据。

其中,应用服务是指通过服务器实现的各种应用对应的服务,例如,当该应用为人寿产品的应用时,该应用服务指的是人寿产品这一应用对应的服务,当用户点击人寿产品对应的应用,发出应用服务启动指令,人寿产品对应的应用接收该应用服务启动指令,服务器发出业务算法读取指令,该业务算法读取指令携带人寿产品对应的应用的唯一标识,oralce数据库接收业务算法读取指令,根据其携带的人寿产品对应的应用的唯一标识查找与人寿产品对应的应用有关的业务算法及所述业务算法涉及的数据,并反馈查找结果至服务器,以使服务器从oralce数据库读取业务算法及所述业务算法涉及的数据。

其中,这里的业务算法包括但不限于人寿产品的保费、现价、红利等产品涉及到的算法。每种产品涉及的业务算法通常都不同,例如,假设某个保费产品涉及的算法对应的公式为A+B-C*D,则在读取该某个算法时,需要同时读取“A、B、C、D”这4个参数涉及的变量、具体值等数据。

步骤S12,缓存读取的所述业务算法及所述业务算法涉及的数据。

可选地,为了保证缓存业务算法后服务器仍具有足够的内存,则优先缓存使用频率较高的业务算法,此时,所述步骤S12具体包括:

A1、根据预先统计的使用频率判断读取的业务算法的使用频率是否大于预设频率阈值。具体地,在业务算法被调用时,判定该业务算法被使用,统计一段时间内不同业务算法的使用次数,进而根据该不同业务算法的使用次数计算该不同业务算法的使用频率。其中,预设频率阈值可根据实际情况进行设定,例如,在业务量较少时,预设频率阈值也较小,如为15、20等,在业务量较多时,预设频率阈值也较大,如60,70等,此处不作限定。

A2、在读取的业务算法的使用频率大于预设频率阈值时,缓存大于预设频率阈值的业务算法及所述业务算法涉及的数据。

或者,可选地,为了保证缓存业务算法后服务器仍具有足够的内存,则优先缓存使用频率较高的业务算法,此时,所述步骤S12具体包括:

A1’、根据预先统计的使用频率对读取的业务算法的使用频率进行排序;

A2’、缓存使用频率在前N的N个业务算法及所述业务算法涉及的数据,其中,N通过以下方式确定:获取使用频率最高的业务算法的使用频率以及所述使用频率最高的业务算法占用的内存大小、中央处理器(Central Processing Unit,CPU)大小,根据所述使用频率和所述业务算法占用的内存大小、CPU大小预估所述使用频率最高的业务算法将要占用的内存大小、CPU大小(例如,假设业务算法X的使用频率为5,单词调用X占用的内存为200,则同时5次调用该X占用的内存为5*200=1000);判断预估的所述使用频率最高的业务算法将要占用的内存大小是否大于预设的内存缓存阈值,和/或,判断预估的所述使用频率最高的业务算法将要占用的CPU大小是否大于预设的CPU缓存阈值,若是,则仅缓存所述使用频率最高的业务算法及所述业务算法涉及的数据,若否,则获取使用频率较高的业务算法的使用频率以及所述使用频率较高的业务算法占用的内存大小、CPU大小,并采用与上述对使用频率最高的业务算法的使用频率以及所述使用频率较高的业务算法占用的内存大小、CPU大小的处理相同的操作进行处理。

步骤S13,接收业务算法调用指令,所述业务算法调用指令携带业务算法的唯一标识。

具体地,当用户需要通过应用服务的某个功能处理指定的业务数据时,启动该应用服务的某个功能后,将发出该某个功能对应的业务算法调用指令。

在其他实施例中,可选地,为了告知用户后续处理业务数据将要占用的内存等信息,以降低oralce数据库出现宕机的情况,可根据在步骤S13中已接收到的业务算法调用指令的个数,预估后续将要接收到的业务算法调用指令,进而预估将要处理的业务数据所占用的内存等信息,这样,可以在业务剧增、数据库资源出现紧张前,及时提醒用户对数据库资源进行紧急处理,降低数据库的宕机风险。具体地,此时包括:

B1、分别统计第一预设时间段以及第二预设时间段内接收到的所有业务算法调用指令的个数,所述第一预设时间段与所述第二预设时间段为相邻的时间段,且所述第一预设时间段早于所述第二预设时间段。其中,第一预设时间段、第二预设时间段的具体时长可根据实际情况进行设定,例如,在无活动的情况下,业务量不会突然增大或减小,此时,可设置第一预设时间段、第二预设时间段为较长的时长,但在推出活动的情况下,业务量可能在短时间内出现增大的情况,此时,可设置第一预设时间段、第二预设时间段为较短的时长,以便提高后续预估值的准确率。

B2、根据统计第一预设时间段以及第二预设时间段内接收到的所有业务算法调用指令的个数预估第三预设时间段内接收到的业务算法调用指令的个数,并根据所述预估第三预设时间段内接收到的业务算法调用指令的个数预估处理业务数据将要占用的内存大小、中央处理器大小,所述第二预设时间段早于所述第三预设时间段。具体地,根据统计的第一预设时间段以及第二预设时间段内接收到的所有业务算法调用指令的个数确定从第一预设时间段到第二预设时间段的增长率,再根据第二预设时间段内接收到的所有业务算法调用指令的个数以及确定的增长率预估第三预设时间段内接收到的业务算法调用指令的个数,进而预估处理业务数据将要占用的内存大小、中央处理器大小。

B3、在预估处理业务数据将要占用的内存大小大于预设内存阈值,或在预估处理业务数据将要占用的中央处理器大小大于预设中央处理器阈值时,发出提醒。由于服务器运行过程中需要占用一定的内存,CPU,因此,为了保证服务器能够正常运行,不出现宕机的情况,在预估处理业务数据将要占用的内存大小大于预设内存阈值,或在预估处理业务数据将要占用的中央处理器大小大于预设中央处理器阈值时,发出提醒,如提醒用户及时增加服务器的内存等。其中,预设内存阈值和预设中央处理器阈值为服务器正常启动、运行所需的内存值、CPU值,例如,该内存值、CPU值可为服务器正常启动、运行所需的最小内存值、CPU值。

步骤S14,根据所述业务算法调用指令调用缓存的对应的业务算法以及所述业务算法涉及的数据。

具体地,根据业务算法调用指令携带的业务算法的唯一标识查找对应的业务算法,并调用查找到的业务算法以及所述业务算法涉及的数据。进一步地,若预先指定数据的调用方式,则根据预先指定的调用方式调用业务算法涉及的数据,例如,假设指定业务算法涉及的数据采用结构化查询语言(Structured Query Language,SQL),则通过SQL调用业务算法涉及的数据。

步骤S15,根据调用的业务算法以及所述业务算法涉及的数据处理指定的业务数据。

由于业务算法以及所述业务算法涉及的数据都已缓存至服务器中,因此,能够快速调用所述业务算法及对应的数据对指定的业务数据进行处理,从而极大提高了指定的业务数据的处理速度,并且,由于业务算法以及所述业务算法涉及的数据都已缓存至服务器中,因此,减少了对oralce数据库资源的消耗,从而避免了oralce数据库出现宕机的情况。

可选地,在所述步骤S15时,包括:

定时询问所述oralce数据库是否存在新增的业务算法和/或业务算法涉及的数据,并在所述oralce数据库存在新增的业务算法和/或业务算法涉及的数据时,读取新增的业务算法和/或业务算法涉及的数据。当oralce数据库出现新增的业务算法时,为了使得服务器能够及时调用该新增的业务算法,则需要及时读取新增的业务算法及该新增的业务算法涉及的数据;另外,当oralce数据库原有的业务算法新增了某些数据,则服务器同样需要读取该原有的业务算法新增的某些数据。当然,当服务器读取新增的业务算法和/或业务算法涉及的数据后,将缓存至所述服务器中。

可选地,为了避免服务器的内存一直被占用,则在所述步骤S15之后,包括:

删除缓存的业务算法及所述业务算法涉及的数据。

本发明第一实施例中,接收应用服务启动指令后,读取oralce数据库中的业务算法及所述业务算法涉及的数据,缓存读取的所述业务算法及所述业务算法涉及的数据,接收业务算法调用指令,所述业务算法调用指令携带业务算法的唯一标识,根据所述业务算法调用指令调用缓存的对应的业务算法以及所述业务算法涉及的数据,根据调用的业务算法以及所述业务算法涉及的数据处理指定的业务数据。由于将oralce数据库中的业务算法及所述业务算法涉及的数据缓存至服务器中,因此,服务器能够快速调用与业务算法调用指令对应的业务算法及所述业务算法涉及的数据,提高了业务算法的调用速度,并且,由于业务算法以及所述业务算法涉及的数据都已缓存至服务器中,因此,减少了对oralce数据库资源的消耗,从而避免了oralce数据库出现宕机的情况。

应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例二:

图2示出了本发明第二实施例提供的一种业务数据处理装置的结构图,该业务数据处理装置可应用于各种移动终端中,该移动终端可以包括经无线接入网RAN与一个或多个核心网进行通信的用户设备,该用户设备可以是移动电话(或称为“蜂窝”电话)、具有移动设备的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。又例如,该移动设备可以包括智能手机、平板电脑、家教机、个人数字助理PDA、销售终端POS或车载电脑等。为了便于说明,仅示出了与本发明实施例相关的部分。

该业务数据处理装置2包括:业务算法读取单元21、业务算法缓存单元22、业务算法调用指令接收单元23、业务算法调用单元24、业务数据处理单元25。其中:

业务算法读取单元21,用于接收应用服务启动指令后,读取oralce数据库中的业务算法及所述业务算法涉及的数据。

其中,这里的业务算法包括但不限于人寿产品的保费、现价、红利等产品涉及到的算法。每种产品涉及的业务算法通常都不同,例如,假设某个保费产品涉及的算法对应的公式为A+B-C*D,则在读取该某个算法时,需要同时读取“A、B、C、D”这4个参数涉及的变量、具体值等数据。

业务算法缓存单元22,用于缓存读取的所述业务算法及所述业务算法涉及的数据。

可选地,为了保证缓存业务算法后服务器仍具有足够的内存,则优先缓存使用频率较高的业务算法,此时,所述业务算法缓存单元22包括:

使用频率比较模块,用于根据预先统计的使用频率判断读取的业务算法的使用频率是否大于预设频率阈值。具体地,在业务算法被调用时,判定该业务算法被使用,统计一段时间内不同业务算法的使用次数,进而根据该不同业务算法的使用次数计算该不同业务算法的使用频率。其中,预设频率阈值可根据实际情况进行设定,例如,在业务量较少时,预设频率阈值也较小,如为15、20等,在业务量较多时,预设频率阈值也较大,如60,70等,此处不作限定。

数据缓存模块,用于在读取的业务算法的使用频率大于预设频率阈值时,缓存大于预设频率阈值的业务算法及所述业务算法涉及的数据。

可选地,为了保证缓存业务算法后服务器仍具有足够的内存,则优先缓存使用频率较高的业务算法,此时,所述业务算法缓存单元22包括:

使用频率排序模块,用于根据预先统计的使用频率对读取的业务算法的使用频率进行排序。

N个业务算法缓存模块,用于缓存使用频率在前N的N个业务算法及所述业务算法涉及的数据,其中,N通过以下方式确定:获取使用频率最高的业务算法的使用频率以及所述使用频率最高的业务算法占用的内存大小、CPU大小,根据所述使用频率和所述业务算法占用的内存大小、CPU大小预估所述使用频率最高的业务算法将要占用的内存大小、CPU大小;判断预估的所述使用频率最高的业务算法将要占用的内存大小是否大于预设的内存缓存阈值,和/或,判断预估的所述使用频率最高的业务算法将要占用的CPU大小是否大于预设的CPU缓存阈值,若是,则仅缓存所述使用频率最高的业务算法及所述业务算法涉及的数据,若否,则获取使用频率较高的业务算法的使用频率以及所述使用频率较高的业务算法占用的内存大小、CPU大小,并采用与上述对使用频率最高的业务算法的使用频率以及所述使用频率较高的业务算法占用的内存大小、CPU大小的处理相同的操作进行处理。

业务算法调用指令接收单元23,用于接收业务算法调用指令,所述业务算法调用指令携带业务算法的唯一标识。

可选地,所述业务数据处理装置包括:

业务算法调用指令统计单元,用于分别统计第一预设时间段以及第二预设时间段内接收到的所有业务算法调用指令的个数,所述第一预设时间段与所述第二预设时间段为相邻的时间段,且所述第一预设时间段早于所述第二预设时间段。其中,第一预设时间段、第二预设时间段的具体时长可根据实际情况进行设定,例如,在无活动的情况下,业务量不会突然增大或减小,此时,可设置第一预设时间段、第二预设时间段为较长的时长,但在推出活动的情况下,业务量可能在短时间内出现增大的情况,此时,可设置第一预设时间段、第二预设时间段为较短的时长,以便提高后续预估值的准确率。

业务算法调用指令预估单元,用于根据统计第一预设时间段以及第二预设时间段内接收到的所有业务算法调用指令的个数预估第三预设时间段内接收到的业务算法调用指令的个数,并根据所述预估第三预设时间段内接收到的业务算法调用指令的个数预估处理业务数据将要占用的内存大小、中央处理器大小,所述第二预设时间段早于所述第三预设时间段。具体地,根据统计的第一预设时间段以及第二预设时间段内接收到的所有业务算法调用指令确定从第一预设时间段到第二预设时间段的增长率,再根据第二预设时间段内接收到的所有业务算法调用指令以及确定的增长率预估第三预设时间段内接收到的业务算法调用指令,进而预估处理业务数据将要占用的内存大小、中央处理器大小。

消息提醒单元,用于在预估处理业务数据将要占用的内存大小大于预设内存阈值,或在预估处理业务数据将要占用的中央处理器大小大于预设中央处理器阈值时,发出提醒。

业务算法调用单元24,用于根据所述业务算法调用指令调用缓存的对应的业务算法以及所述业务算法涉及的数据。

具体地,根据业务算法调用指令携带的业务算法的唯一标识查找对应的业务算法,并调用查找到的业务算法以及所述业务算法涉及的数据。进一步地,若预先指定数据的调用方式,则根据预先指定的调用方式调用业务算法涉及的数据,例如,假设指定业务算法涉及的数据采用SQL,则通过SQL调用业务算法涉及的数据。

业务数据处理单元25,用于根据调用的业务算法以及所述业务算法涉及的数据处理指定的业务数据。

可选地,所述业务数据处理装置包括:

业务算法更新单元,用于定时询问所述oralce数据库是否存在新增的业务算法和/或业务算法涉及的数据,并在所述oralce数据库存在新增的业务算法和/或业务算法涉及的数据时,读取新增的业务算法和/或业务算法涉及的数据。当oralce数据库出现新增的业务算法时,为了使得服务器能够及时调用该新增的业务算法,则需要及时读取新增的业务算法及该新增的业务算法涉及的数据;另外,当oralce数据库原有的业务算法新增了某些数据,则服务器同样需要读取该原有的业务算法新增的某些数据。当然,当服务器读取新增的业务算法和/或业务算法涉及的数据后,将缓存至所述服务器中。

可选地,为了避免服务器的内存一直被占用,所述业务数据处理装置包括:

业务算法删除单元,用于删除缓存的业务算法及所述业务算法涉及的数据。

本发明第二实施例中,由于将oralce数据库中的业务算法及所述业务算法涉及的数据缓存至服务器中,因此,服务器能够快速调用与业务算法调用指令对应的业务算法及所述业务算法涉及的数据,提高了业务算法的调用速度,并且,由于业务算法以及所述业务算法涉及的数据都已缓存至服务器中,因此,减少了对oralce数据库资源的消耗,从而避免了oralce数据库出现宕机的情况。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1