一种计数方法及计数器

阅读: 评论:0

著录项
  • CN201710229564.6
  • 20170410
  • CN107798036A
  • 20180313
  • 平安科技(深圳)有限公司
  • 曹辉荣
  • G06F17/30
  • G06F17/30 H04L12/26

  • 广东省深圳市福田区八卦岭工业区平安大厦六楼
  • 广东(44)
  • 深圳市精英专利事务所
  • 林燕云
摘要
本发明实施例提供一种计数方法及计数器。所述方法包括:检测是否存在计数申请源;若存在计数申请源,获取当前计数申请源单位时间内计数的数量及服务器相关参数;根据所述计数的数量或所述服务器相关参数判断当前计数申请源更新数据库的模式,所述模式包括实时模式和高性能模式;若当前计数申请源更新数据库的模式为高性能模式,将当前计数申请源在服务器内运行产生的计数进行累加而得出累加值;根据预设的频率将当前计数申请源的累加值更新到数据库。本发明实施例可以动态调整计数申请源更新数据库的模式,在保证计数准确性的同时,减少与数据库的交互频率,降低了数据库的压力,可以在数据库性能与计数准确性之间达到平衡。
权利要求

1.一种计数方法,其特征在于,所述方法包括:

检测是否存在计数申请源;

若存在计数申请源,获取当前计数申请源单位时间内计数的数量及服务器相关参数, 所述服务器相关参数包括CPU使用率、内存使用率及当前网络连接数中的至少一种;

根据所述计数的数量或所述服务器相关参数判断当前计数申请源更新数据库的模式, 所述模式包括实时模式和高性能模式;

若当前计数申请源更新数据库的模式为高性能模式,将当前计数申请源在服务器内运 行产生的计数进行累加而得出累加值;

根据预设的频率将当前计数申请源的累加值更新到数据库。

2.如权利要求1所述的方法,其特征在于,所述方法还包括:

将当前计数申请源的累加值更新到数据库后,获取数据库中当前计数申请源的总量, 并保存为当前总量;

将当前计数申请源的当前总量与当前累加值的和与所述当前计数申请源设定的阈值 进行比较;

若超过设定的阈值,停止对当前计数申请源计数。

3.如权利要求1-2任一项所述的方法,其特征在于,所述根据所述计数的数量判断当前 计数申请源更新数据库的模式,包括:

判断所述计数的数量是否超过预设数量;

若超过预设数量,确定当前计数申请源更新数据库的模式为高性能模式;

若所述计数的数量小于或者等于预设数量,确定当前计数申请源更新数据库的模式为 实时模式。

4.如权利要求1-2任一项所述的方法,其特征在于,根据所述服务器相关参数判断当前 计数申请源更新数据库的模式,包括:

判断CPU使用率是否大于第一预设使用率,或者内存使用率是否大于第二预设使用率, 或者当前网络连接数是否等于服务器最大网络连接数;

若是,则确定当前计数申请源更新数据库的模式为高性能模式;

否则,确定当前计数申请源更新数据库的模式为实时模式。

5.如权利要求1-2任一项所述的方法,其特征在于,根据预设的频率将当前计数申请源 的累加值更新到数据库,包括:

判断当前计数申请源在单位时间内计数的数量是否减少;

若是,相应降低所述预设的频率,并根据降低后的频率将当前计数申请源的累加值更 新到数据库;

否则,相应增加所述预设的频率,并根据增加后的频率将当前计数申请源的累加值更 新到数据库;或者

判断CPU使用率或者内存使用率或者当前网络连接数是否增加;

若是,相应降低所述预设的频率,并根据降低后的频率将当前计数申请源的累加值更 新到数据库;

否则,相应增加所述预设的频率,并根据增加后的频率将当前计数申请源的累加值更 新到数据库。

6.一种计数器,其特征在于,所述计数器包括:

检测单元,用于检测是否存在计数申请源;

获取单元,用于若存在计数申请源,获取当前计数申请源单位时间内计数的数量及服 务器相关参数,所述服务器相关参数包括CPU使用率、内存使用率及当前网络连接数中的至 少一种;

判断单元,用于根据所述计数的数量或所述服务器相关参数判断当前计数申请源更新 数据库的模式,所述模式包括实时模式和高性能模式;

计数单元,用于若当前计数申请源更新数据库的模式为高性能模式,将当前计数申请 源在服务器内运行产生的计数进行累加而得出累加值;

更新单元,用于根据预设的频率将当前计数申请源的累加值更新到数据库。

7.如权利要求6所述的计数器,其特征在于,所述计数器还包括比较单元、停止单元;其 中,

所述获取单元,还用于将当前计数申请源的累加值更新到数据库后,获取数据库中当 前计数申请源的总量,并保存为当前总量;

所述比较单元,用于将当前计数申请源的当前总量与当前累加值的和与所述当前计数 申请源设定的阈值进行比较;

所述停止单元,用于若超过设定的阈值,停止对当前计数申请源计数。

8.如权利要求6-7任一项所述的计数器,其特征在于,所述判断单元包括第一判断单 元、第一确定单元;其中,

所述第一判断单元,用于判断所述计数的数量是否超过预设数量;

所述第一确定单元,用于若所述计数的数量超过预设数量,确定当前计数申请源更新 数据库的模式为高性能模式;

所述第一确定单元,还用于若所述计数的数量小于或者等于预设数量,确定当前计数 申请源更新数据库的模式为实时模式。

9.如权利要求6-7任一项所述的计数器,其特征在于,所述判断单元包括第二判断单 元、第二确定单元;其中,

所述第二判断单元,用于判断CPU使用率是否大于第一预设使用率,或者内存使用率是 否大于第二预设使用率,或者当前网络连接数是否等于服务器最大网络连接数;

所述第二确定单元,用于若CPU使用率大于第一预设使用率,或者内存使用率大于第二 预设使用率,或者当前网络连接数等于服务器最大网络连接数,则确定当前计数申请源更 新数据库的模式为高性能模式;

所述第二确定单元,还用于在所述第二判断单元的判断结果为否的情况下,确定当前 计数申请源更新数据库的模式为实时模式。

10.如权利要求6-7任一项所述的计数器,其特征在于,所述更新单元包括第三判断单 元、修改更新单元;其中,

所述第三判断单元,用于判断当前计数申请源在单位时间内计数的数量是否减少;

所述修改更新单元,用于若当前计数申请源在单位时间内计数的数量减少,相应降低 所述预设的频率,并根据降低后的预设的频率将当前计数申请源的累加值更新到数据库;

所述修改更新单元,还用于若当前计数申请源在单位时间内计数的数量增加,相应增 加所述预设的频率,并根据增加后的预设的频率将当前计数申请源的累加值更新到数据 库;或者

所述第三判断单元,用于判断CPU使用率或者内存使用率或者当前网络连接数是否增 加;

所述修改更新单元,用于若CPU使用率或者内存使用率或者当前网络连接数增加,相应 降低所述预设的频率,并根据降低后的预设的频率将当前计数申请源的累加值更新到数据 库;

所述修改更新单元,还用于在所述第三判断单元的判断结果为否的情况下,相应增加 所述预设的频率,并根据增加后的预设的频率将当前计数申请源的累加值更新到数据库。

说明书
技术领域

本发明涉及数据处理技术领域,尤其涉及一种计数方法及计数器。

当其他多个平台调用某个预设平台(服务器)时,其他多个平台(多个计数申请源) 在该预设平台上运行产生计数。目前普遍采用的是数据库计数或第三方系统计数方案。数 据库计数会产生频繁的更新操作,对数据库产生很大压力;第三方系统计数需要依赖 Redis、mongoDB或Zookeeper等第三方系统,增加了开发和运营成本。

本发明实施例提供了一种计数方法及计数器,可以动态调整计数申请源更新数据 库的模式,在保证计数准确性的同时,减少与数据库的交互频率,降低了数据库的压力。

一方面,本发明提供了一种计数方法,该方法包括:

检测是否存在计数申请源;

若存在计数申请源,获取当前计数申请源单位时间内计数的数量及服务器相关参 数,所述服务器相关参数包括CPU使用率、内存使用率及当前网络连接数中的至少一种;

根据所述计数的数量或所述服务器相关参数判断当前计数申请源更新数据库的 模式,所述模式包括实时模式和高性能模式;

若当前计数申请源更新数据库的模式为高性能模式,将当前计数申请源在服务器 内运行产生的计数进行累加而得出累加值;

根据预设的频率将当前计数申请源的累加值更新到数据库。

另一方面,本发明还提供了一种计数器,该计数器包括:

检测单元,用于是否存在计数申请源;

获取单元,用于若存在计数申请源,获取当前计数申请源单位时间内计数的数量 及服务器相关参数,所述服务器相关参数包括CPU使用率、内存使用率及当前网络连接数中 的至少一种;

判断单元,用于根据所述计数的数量或所述服务器相关参数判断当前计数申请源 更新数据库的模式,所述模式包括实时模式和高性能模式;

计数单元,用于若当前计数申请源更新数据库的模式为高性能模式,将当前计数 申请源在服务器内运行产生的计数进行累加而得出累加值;

更新单元,用于根据预设的频率将当前计数申请源的累加值更新到数据库。

本发明实施例提供的方法和终端,可以根据当前计数申请源单位时间内计数的数 量或者服务器相关参数来判断计数申请源更新数据库的模式,若更新数据库的模式为高性 能模式,根据预设的频率更新数据库。本发明实施例可以动态调整计数申请源更新数据库 的模式,在保证计数准确性的同时,减少与数据库的交互频率,降低了数据库的压力。另一 方面,在计数申请源更新数据库的模式为高性能模式的情况下,根据预设的频率更新数据 库,在数据库性能与计数准确性之间达到平衡。

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的 附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普 通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种计数方法的示意流程图;

图2是本发明实施例提供的一种计数方法的一个子流程示意图;

图3是本发明实施例提供的一种计数方法的另一个子流程示意图;

图4是本发明实施例提供的一种计数方法的另一个子流程示意图;

图5是本发明实施例提供的一种计数方法的另一个子流程示意图;

图6是本发明另一实施例提供的一种计数方法的流程示意图;

图7是本发明实施例提供的一种计数器的示意性框图;

图8是本发明实施例提供的判断单元的示意性框图;

图9是本发明实施例提供的另一个判断单元的示意性框图;

图10是本发明实施例提供的更新单元的示意性框图;

图11是本发明另一实施例提供的一种计数器的示意性框图;

图12是本发明又一实施例提供的一种计数器的示意性框图。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示 所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整 体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关 联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

图1为本发明实施例提供的一种计数方法的流程示意图。该方法包括S101~S106。

S101,检测是否存在计数申请源。具体地,可以通过连接请求来检测是否存在计数 申请源。如检测连接请求中的IP地址是否与预存的计数申请源的IP地址匹配,若匹配,即存 在计数申请源。其中,计数申请源的连接请求是发送到服务器上的。计数申请源至少有一 个。可以理解地,能检测到一个或者多个计数申请源。

S102,若存在计数申请源,获取当前计数申请源单位时间内计数的数量及服务器 相关参数。其中,服务器相关参数包括CPU使用率、内存使用率及当前网络连接数中的至少 一种。单位时间并非仅指单位时间,也可以是一段时间,如1小时等。

S103,根据单位时间内计数的数量或服务器相关参数判断当前计数申请源更新数 据库的模式,所述模式包括实时模式和高性能模式。其中,高性能模式为非实时模式,即除 去实时模式之外的模式。若为高性能模式,执行S104,若为实时模式,执行S106。

优选地,根据当前计数申请源单位时间内计数的数量判断当前计数申请源更新数 据库的模式,具体地,S103包括S201-S203。如图2所示,S201,判断单位时间内计数的数量是 否超过预设数量。S202,若单位时间内计数的数量超过预设数量,确定当前计数申请源更新 数据库的模式为高性能模式。S203,若单位时间内计数的数量小于或者等于预设数量,确定 当前计数申请源更新数据库的模式为实时模式。可以理解地,若单位时间内计数的数量比 较少,那么实时的更新数据库;若单位时间内计数的数量比较多,采用高性能模式更新数据 库。可以动态地调整当前计数申请源更新数据库的模式,在保证计数准确性的同时,减少服 务器与数据库的交互频率,降低了服务器和数据库的压力。

在其他实施例中,还可以根据服务器相关参数判断当前计数申请源更新数据库的 模式,具体地,S103包括S301-S303。如图3所示,S301,判断CPU使用率是否大于第一预设使 用率,或者内存使用率是否大于第二预设使用率,或者当前网络连接数是否等于服务器最 大网络连接数。若是,执行S302,否则,执行S303。S302,确定当前计数申请源更新数据库的 模式为高性能模式。S303,确定当前计数申请源更新数据库的模式为实时模式。其中,优选 地,第一预设使用率30%,第二预设使用率为90%。可以理解地,当CPU使用率大于30%,或 者内存使用率大于90%,或者当前网络连接数等于服务器最大网络连接数,那么可以理解 为服务器目前已经有大量的工作需要处理,若更新数据库的模式为实施模式的话,服务器 将会有更多的工作需要处理,将会占用更多的CPU或者内存,将会增加服务器的压力,也会 增加数据库的压力,因此当CPU使用率大于第一预设使用率,或者内存使用率大于第二预设 使用率,或者当前网络连接数等于服务器最大网络连接数,当前计数申请源采用高性能模 式更新数据库,否则,采用实时模式更新数据库。图3所述的技术方案可以动态地调整当前 计数申请源更新数据库的模式,在保证计数准确性的同时,减少服务器与数据库的交互频 率,降低了服务器和数据库的压力,提高了服务器的性能。

S104,将当前计数申请源在服务器内运行产生的计数进行累加而得出累加值。具 体地,可以在一段时间内将当前计数申请源在服务器内运行产生的计数进行累加而得出累 加值,在该种情况下,累加值会清零;也可以是将当前计数申请源在服务器内运行产生的计 数一直累加而得到累加值。

S105,根据预设的频率将当前计数申请源的累加值更新到数据库。其中,若累加值 是指在一段时间内(预设的频率所对应的时间)运行产生的计数而累加得到的,那么将当前 计数申请源的累加值以增量累加到数据库,累加到数据库后,将该累加值清零。若累加值是 运行产生的计数一直累加而得到的,那么根据预设的频率将当前计数申请源的累加值中的 增量更新到数据库。预设的频率跟当前计数申请源单位时间内计数的数量或者服务器相关 参数有关,其中,优选地,预设的频率初始值为1分钟。S105执行完毕后,结束。

具体地,如图4所示,S105包括S401-S403。S401,判断当前计数申请源在单位时间 内计数的数量是否减少。若减少,则执行S402,否则,执行S403。S402,相应降低所述预设的 频率,并根据降低后的预设的频率将当前计数申请源的累加值更新到数据库。S403,相应增 加所述预设的频率,并根据增加后的预设的频率将当前计数申请源的累加值更新到数据 库。可以理解地,在高性能模式下,若当前计数申请源在单位时间内计数的数量减少,那么 相应降低预设的频率,即可以经过比较长的时间将当前计数申请源的累加值更新到数据 库;若当前计数申请源在单位时间内计数的数量增加,那么相应增加预设的频率,需要及时 地把累加值更新到数据库。该技术方案在高性能模式下,动态的调整当前计数申请源更新 数据库的频率,以实现在数据库性能与计数准确性之间达到平衡。

在其他实施例中,具体地,如图5所示,S105包括S501-S503。S501,判断CPU使用率 或者内存使用率或者当前网络连接数是否增加。若增加,执行S502,否则,执行S503。S502, 相应降低所述预设的频率,并根据降低后的预设的频率将当前计数申请源的累加值更新到 数据库。S503,相应增加所述预设的频率,并根据增加后的预设的频率将当前计数申请源的 累加值更新到数据库。可以理解地,若CPU使用率或者内存使用率或者当前网络连接数增 加,那么服务器的工作量增加,此时若相应增加预设的频率,那么会加大服务器的工作量, 增加服务器的压力,因此需要相应降低预设的频率,即相应降低当前计数申请源更新数据 库的频率。否则,需要相应增加预设的频率。该技术方案在高性能模式下,动态地调整当前 计数申请源更新数据库的频率,即动态调整服务器与数据库的交互频率,提高了服务器和 数据库的性能,同时可以在数据库性能与计数准确性之间达到平衡。

S106,实时将当前计数申请源在服务器内运行产生的计数更新到数据库。

图6为本发明另一实施例提供的一种计数方法的流程示意图。该方法包括S601~ S611。

S601,检测是否存在计数申请源。具体地,可以通过连接请求来检测是否存在计数 申请源。如检测连接请求中的IP地址是否与预存的计数申请源的IP地址匹配,若匹配,即存 在计数申请源。其中,计数申请源的连接请求是发送到服务器上的。计数申请源至少有一 个。可以理解地,能检测到一个或者多个计数申请源。

S602,若存在计数申请源,获取当前计数申请源单位时间内计数的数量及服务器 相关参数。其中,服务器相关参数包括CPU使用率、内存使用率及当前网络连接数中的至少 一种。单位时间并非仅指单位时间,也可以是一段时间,如1小时等。

S603,根据单位时间内计数的数量或服务器相关参数判断当前计数申请源更新数 据库的模式,所述模式包括实时模式和高性能模式。其中,高性能模式为非实时模式,即除 去实时模式之外的模式。若为高性能模式,执行S604,若为实时模式,执行S609。其中,根据 单位时间内计数的数量判断当前计数申请源更新数据库的模式,请参看图2的内容。根据服 务器相关参数判断当前计数申请源更新数据库的模式,请参看图3的内容。

S604,将当前计数申请源在服务器内运行产生的计数进行累加而得出累加值。具 体地,在一段时间内将当前计数申请源在服务器内运行产生的计数进行累加而得出累加 值,在该种情况下,累加值会清零。

S605,根据预设的频率将当前计数申请源的累加值更新到数据库。其中,累加值是 指在一段时间内(预设的频率所对应的时间)运行产生的计数而累加得到的,那么将当前计 数申请源的累加值以增量累加到数据库,累加到数据库后,将该累加值清零。预设的频率跟 当前计数申请源单位时间内计数的数量或者服务器相关参数有关,其中,优选地,预设的频 率初始值为1分钟。具体地,S605请参看图4描述的内容。在其他实施例中,S605请参看图5描 述的内容。

S606,将当前计数申请源的累加值更新到数据库后,获取数据库中当前计数申请 源的总量,并保存为当前总量。

S607,将当前计数申请源的当前总量与当前累加值的和,与当前计数申请源设定 的阈值进行比较。其中,每个计数申请源都设定一个阈值,可以理解地,其他平台调用服务 器的次数是有限制的,不能无限次的调用。可以应用在计费场景中,如当前计数申请源给了 100块钱,那么允许当前计数申请源调用服务器的次数为100,如果超过了100次,那么将不 允许调用服务器,除非另外再交钱。

S608,若超过设定的阈值,停止对当前计数申请源计数并发出预警。如当前计数申 请源的计数的数量已经达到预定的阈值,那么服务器将会停止对当前计数申请源的计数, 并发出预警,以提醒当前计数申请源注意。

S609,实时将当前计数申请源在服务器内运行产生的计数更新到数据库。若当前 计数申请源采用实时模式更新数据库,那么将实时的将该当前计数申请源在服务器内运行 产生的计数更新到数据库。

S610,将获取的当前计数申请源在数据库中的当前总量与当前计数申请源设定的 阈值进行比较。若当前计数申请源采用实时模式更新数据库,也对当前计数申请源设定一 个阈值,表示当前计数申请源调用服务器的次数是有限制的。

S611,若超过设定的阈值,停止对当前计数申请源计数并发出预警。以提醒当前计 数申请源注意。

该方法实施例对计数申请源的当前计数总量与当前计数申请源设定的阈值进行 比较,若超过设定的阈值,停止对当前计数申请源计数并发出预警。通过停止对当前计数申 请源计数并发出预警的方式,以提醒当前计数申请源的注意。

图7为本发明实施例提供的一种计数器的示意性框图。该计数器70包括检测单元 701、获取单元702、判断单元703、计数单元704、更新单元705。

检测单元701,用于检测是否存在计数申请源。具体地,可以通过连接请求来检测 是否存在计数申请源。如检测连接请求中的IP地址是否与预存的计数申请源的IP地址匹 配,若匹配,即存在计数申请源。其中,计数申请源的连接请求是发送到服务器上的。计数申 请源至少有一个。可以理解地,能检测到一个或者多个计数申请源。

获取单元702,用于若存在计数申请源,获取当前计数申请源单位时间内计数的数 量及服务器相关参数。其中,服务器相关参数包括CPU使用率、内存使用率及当前网络连接 数中的至少一种。单位时间并非仅指单位时间,也可以是一段时间,如1小时等。

判断单元703,用于根据当前计数申请源单位时间内计数的数量或服务器相关参 数判断当前计数申请源更新数据库的模式,所述模式包括实时模式和高性能模式。所述模 式包括实时模式和高性能模式。其中,高性能模式为非实时模式,即除去实时模式之外的模 式。

优选地,所述判断单元用于根据当前计数申请源单位时间内计数的数量判断当前 计数申请源更新数据库的模式,如图8所示,判断单元703包括第一判断单元801、第一确定 单元802。第一判断单元801,用于判断单位时间内计数的数量是否超过预设数量。第一确定 单元802,用于若单位时间内计数的数量超过预设数量,确定当前计数申请源更新数据库的 模式为高性能模式。第一确定单元802,还用于若单位时间内计数的数量小于或者等于预设 数量,确定当前计数申请源更新数据库的模式为实时模式。可以理解地,若单位时间内计数 的数量比较少,那么实时的更新数据库;若单位时间内计数的数量比较多,采用高性能模式 更新数据库。可以动态地调整当前计数申请源更新数据库的模式,在保证计数准确性的同 时,减少服务器与数据库的交互频率,降低了服务器和数据库的压力。

在其他实施例中,所述判断单元用于根据服务器相关参数判断当前计数申请源更 新数据库的模式,如图9所示,判断单元703包括第二判断单元901、第二确定单元902。第二 判断单元901,用于判断CPU使用率是否大于第一预设使用率,或者内存使用率是否大于第 二预设使用率,或者当前网络连接数是否等于服务器最大网络连接数。第二确定单元902, 用于若CPU使用率大于第一预设使用率,或者内存使用率大于第二预设使用率,或者当前网 络连接数等于服务器最大网络连接数,确定当前计数申请源更新数据库的模式为高性能模 式。第二确定单元902,还用于在第二判断单元901的判断结果为否的情况下,确定确定当前 计数申请源更新数据库的模式为实时模式。其中,优选地,第一预设使用率30%,第二预设 使用率为90%。可以理解地,当CPU使用率大于30%,或者内存使用率大于90%,或者当前网 络连接数等于服务器最大网络连接数,那么可以理解为服务器目前已经有大量的工作需要 处理,若更新数据库的模式为实施模式的话,服务器将会有更多的工作需要处理,将会占用 更多的CPU或者内存,将会增加服务器的压力,也会增加数据库的压力,因此当CPU使用率大 于第一预设使用率,或者内存使用率大于第二预设使用率,或者当前网络连接数等于服务 器最大网络连接数,当前计数申请源采用高性能模式更新数据库,否则,采用实时模式更新 数据库。该技术方案可以动态地调整当前计数申请源更新数据库的模式,在保证计数准确 性的同时,减少服务器与数据库的交互频率,降低了服务器和数据库的压力,提高了服务器 的性能。

计数单元704,用于若当前计数申请源更新数据库的模式为高性能模式,将当前计 数申请源在服务器内运行产生的计数进行累加而得出累加值。具体地,可以在一段时间内 将当前计数申请源在服务器内运行产生的计数进行累加而得出累加值,在该种情况下,累 加值会清零;也可以是将当前计数申请源在服务器内运行产生的计数一直累加而得到累加 值。

更新单元705,用于根据预设的频率将当前计数申请源的累加值更新到数据库。其 中,若累加值是指在一段时间内(预设的频率所对应的时间)运行产生的计数而累加得到 的,那么将当前计数申请源的累加值以增量累加到数据库,累加到数据库后,将该累加值清 零。若累加值是运行产生的计数一直累加而得到的,那么根据预设的频率将当前计数申请 源的累加值中的增量更新到数据库。其中,预设的频率跟当前计数申请源单位时间内计数 的数量或者服务器相关参数有关,优选地,预设的频率初始值为1分钟。

具体地,如图10所示,更新单元705包括第三判断单元101、修改更新单元102。第三 判断单元101,用于判断当前计数申请源在单位时间内计数的数量是否减少。修改更新单元 102,用于若当前计数申请源在单位时间内计数的数量减少,相应降低所述预设的频率,并 根据降低后的预设的频率将当前计数申请源的累加值更新到数据库。修改更新单元102,还 用于若当前计数申请源在单位时间内计数的数量增加,相应增加所述预设的频率,并根据 增加后的预设的频率将当前计数申请源的累加值更新到数据库。可以理解地,在高性能模 式下,若当前计数申请源在单位时间内计数的数量减少,那么相应降低预设的频率,即可以 经过比较长的时间将当前计数申请源的累加值更新到数据库;若当前计数申请源在单位时 间内计数的数量增加,那么相应增加预设的频率,需要及时地把累加值更新到数据库。该技 术方案在高性能模式下,动态的调整当前计数申请源更新数据库的频率,以实现在数据库 性能与计数准确性之间达到平衡。

第三判断单元101,还用于判断CPU使用率或者内存使用率或者当前网络连接数是 否增加。修改更新单元102,还用于CPU使用率或者内存使用率或者当前网络连接数增加,相 应降低所述预设的频率,并根据降低后的预设的频率将当前计数申请源的累加值更新到数 据库。修改更新单元102,还用于在第三判断单元’的判断结果为否的情况下,相应增加所述 预设的频率,并根据增加后的预设的频率将当前计数申请源的累加值更新到数据库。可以 理解地,若CPU使用率或者内存使用率或者当前网络连接数增加,那么服务器的工作量增 加,此时若相应增加预设的频率,那么会加大服务器的工作量,增加服务器的压力,因此需 要相应降低预设的频率,即相应降低当前计数申请源更新数据库的频率。否则,需要相应增 加预设的频率。该技术方案在高性能模式下,动态地调整当前计数申请源更新数据库的频 率,即动态调整服务器与数据库的交互频率,提高了服务器和数据库的性能,同时可以在数 据库性能与计数准确性之间达到平衡。

更新单元705,还用于实时将当前计数申请源在服务器内运行产生的计数更新到 数据库。

图11为本发明另一实施例提供的一种计数器的示意性框图。该计数器120包括检 测单元111、获取单元112、判断单元113、计数单元114、更新单元115、比较单元116、停止单 元117。其中,检测单元111、获取单元112、判断单元113请参看前述实施例检测单元701、获 取单元702、判断单元703描述的内容。

计数单元114,用于将当前计数申请源在服务器内运行产生的计数进行累加而得 出累加值。具体地,在一段时间内将当前计数申请源在服务器内运行产生的计数进行累加 而得出累加值,在这种情况下,累加值会清零。

更新单元115,用于根据预设的频率将当前计数申请源的累加值更新到数据库。其 中,累加值是指在一段时间内(预设的频率所对应的时间)运行产生的计数而累加得到的, 那么将当前计数申请源的累加值以增量累加到数据库,累加到数据库后,将该累加值清零。 预设的频率跟当前计数申请源单位时间内计数的数量或者服务器相关参数有关,其中,预 设的频率初始值为1分钟。具体地,更新单元115可参看图10描述的内容。

获取单元112,还用于将当前计数申请源的累加值更新到数据库后,获取数据库中 当前计数申请源的总量,并保存为当前总量。

比较单元116,用于若计数申请源更新数据库的模式为高性能模式时,将当前计数 申请源的当前总量与当前累加值的和,与当前计数申请源设定的阈值进行比较。比较单元 116,还用于若计数申请源更新数据库的模式为实时能模式时,根据获取的当前计数申请源 在数据库中的当前总量与当前计数申请源设定的阈值进行比较。其中,每个计数申请源都 设定一个阈值,可以理解地,其他平台调用服务器的次数是有限制的,不能无限次的调用。 可以应用在计费场景中,如当前计数申请源给了100块钱,那么允许当前计数申请源调用服 务器的次数为100,如果超过了100次,那么将不允许调用服务器,除非另外再交钱。

停止单元117,用于若计数申请源更新数据库的模式为高性能模式时,若当前计数 申请源根据当前总量与当前累加值的和,超过预设的阈值,停止对当前计数申请源计数并 发出预警。停止单元117,还用于若计数申请源更新数据库的模式为实时模式时,若当前计 数申请源根据当前总量超过预设的阈值,停止对当前计数申请源计数并发出预警。如当前 计数申请源的计数的数量已经达到预定的阈值,那么服务器将会停止对当前计数申请源的 计数,并发出预警,以提醒当前计数申请源注意。

图12为本发明又一实施例提供的一种计数器的示意性框图。该计数器120包括包 括存储器121以及处理器122,上述存储器121以及处理器122通过总线123连接。其中:

存储器121,用于存储带有各种功能的数据。本发明实施例中存储器803存储的数 据包括预设的频率、第一预设使用率、第二预设使用率、服务器最大网络连接数、预设数量、 CPU使用率、内存使用率、当前网络连接数及单位时间内计数的数量等,以及其他可调用并 运行的程序数据。具体实现中,本发明实施例的存储器121可以是系统存储器,比如,挥发性 的(诸如RAM),非易失性的(诸如ROM,闪存等),或者两者的结合。具体实现中,本发明实施例 的存储器121还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。

处理器122,用于调用存储器121中存储的程序数据,并执行如下操作:

检测是否存在计数申请源;若存在计数申请源,获取当前计数申请源单位时间内 计数的数量及服务器相关参数,所述服务器相关参数包括CPU使用率、内存使用率及当前网 络连接数中的至少一种;根据所述计数的数量或所述服务器相关参数判断当前计数申请源 更新数据库的模式,所述模式包括实时模式和高性能模式;若当前计数申请源更新数据库 的模式为高性能模式,将当前计数申请源在服务器内运行产生的计数进行累加而得出累加 值;根据预设的频率将当前计数申请源的累加值更新到数据库。

处理器122,还执行如下操作:

将当前计数申请源的累加值更新到数据库后,获取数据库中当前计数申请源的总 量,并保存为当前总量;将当前计数申请源的当前总量与当前累加值的和,与所述当前计数 申请源设定的阈值进行比较;若超过设定的阈值,停止对当前计数申请源计数。

处理器122,还执行如下操作:

判断所述计数的数量是否超过预设数量;若超过预设数量,确定当前计数申请源 更新数据库的模式为高性能模式;若所述计数的数量小于或者等于预设数量,确定当前计 数申请源更新数据库的模式为实时模式。

处理器122,还执行如下操作:

判断CPU使用率是否大于第一预设使用率,或者内存使用率是否大于第二预设使 用率,或者当前网络连接数是否等于服务器最大网络连接数;若是,则确定当前计数申请源 更新数据库的模式为高性能模式;否则,确定当前计数申请源更新数据库的模式为实时模 式。

处理器122,还执行如下操作:

判断当前计数申请源在单位时间内计数的数量是否减少;若是,相应降低所述预 设的频率,并根据降低后的预设的频率将当前计数申请源的累加值更新到数据库;否则,相 应增加所述预设的频率,并根据增加后的预设的频率将当前计数申请源的累加值更新到数 据库;或者

判断CPU使用率或者内存使用率或者当前网络连接数是否增加;若是,相应降低所 述预设的频率,并根据降低后的预设的频率将当前计数申请源的累加值更新到数据库;否 则,相应增加所述预设的频率,并根据增加后的预设的频率将当前计数申请源的累加值更 新到数据库。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终 端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域 普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤, 能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互 换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以 硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以 对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发 明的范围。

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的 单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

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

本文发布于:2023-04-13 06:31:19,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/85707.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图