CN101557316A - 一种更新统计数据的方法和系统 - Google Patents

一种更新统计数据的方法和系统 Download PDF

Info

Publication number
CN101557316A
CN101557316A CNA2009101431244A CN200910143124A CN101557316A CN 101557316 A CN101557316 A CN 101557316A CN A2009101431244 A CNA2009101431244 A CN A2009101431244A CN 200910143124 A CN200910143124 A CN 200910143124A CN 101557316 A CN101557316 A CN 101557316A
Authority
CN
China
Prior art keywords
database
statistical
statistical form
statistics
data
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.)
Granted
Application number
CNA2009101431244A
Other languages
English (en)
Other versions
CN101557316B (zh
Inventor
戴小丹
袁志俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN2009101431244A priority Critical patent/CN101557316B/zh
Publication of CN101557316A publication Critical patent/CN101557316A/zh
Priority to HK10103608.6A priority patent/HK1135261A1/xx
Application granted granted Critical
Publication of CN101557316B publication Critical patent/CN101557316B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种更新统计数据的方法和系统,所述方法包括:业务系统接收来自用户的业务请求,对当前业务进行数据处理,将处理完毕的业务数据存入业务数据库和计算服务器内的消息队列;计算服务器从消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据,将所述统计数据更新至统计表数据库中;任务服务器周期性的遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库。

Description

一种更新统计数据的方法和系统
技术领域
本申请涉及数据处理技术领域,特别涉及一种更新统计数据的方法和系统。
背景技术
软件即服务(Software-as-a-service)也被简称为SaaS,是随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demand software”(按需软件),the application serviceprovider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。在这种模式下,客户不再象传统模式那样花费大量投资用于硬件、软件、人员,而只需要支出一定的租赁服务费用,通过互联网便可以享受到相应的硬件、软件和维护服务,享有软件使用权和不断升级,这是网络应用最具效益的营运模式。
在SaaS模式下,对大数据量进行统计查询不是简单地在存储介质中提取数据,而是需要查询大量数据并做一定的计算。在现有技术中采用以下方法对大量数据进行统计,以供用户查询。
方法一:在业务系统里直接查询和计算统计型数据。
此方法是业务系统实时地查询所涉及的业务数据库,计算得到统计值后传递给用户。
该方法的缺陷是性能差,用户每次查询都需要业务系统在业务数据库中遍历所有数据,并做大量计算,因此当数据量和使用人数到达一定上限后,查询速度很慢,而且由于查询所导致的业务系统大量资源被占用,使业务系统负荷增加,进而会使其他的正常业务处理速度变慢,影响其他业务的正常进行,而且该方法会使用户等待时间会越来越长,进一步的优化无法减轻业务系统的负荷,因而也就无法缩短用户等待时间。
由于SaaS模式的特点是数据量大和同时使用人数多,因此在SaaS模式下做数据统计会消耗大量系统资源,当数据量和使用人数到达一定上限后,该方法无法满足实时统计的需求。
方法二:定时更新统计表数据库,从统计表数据库获得统计型数据。
此方法是业务系统每隔一段时间(如每天夜里12点)在业务数据库中遍历所有数据,并做大量计算,将计算得到的统计值统一放到单独的统计表数据库中,用户查询统计型数据时,直接到统计表数据库中提取。
此方法将统计值计算过程放入业务处理的低谷时段进行,虽然可以避免在用户查询统计型数据时所导致的系统负荷增加,但统计表数据库中的数据实时性很差,此方法虽能解决性能瓶颈问题,但统计型数据不具有实时性,用户取得的统计型数据不是当时有效数据。
方法三:当有与统计型数据相关的业务发生时,同步更新统计表数据库,从统计表数据库获得统计型数据。
此方法是在与统计型数据相关业务被处理的同时,在业务系统当前环境中以同步的方式计算出数据的增加量,并把此增加量更新到单独的统计表数据库中。用户查询统计型数据时,直接到统计表数据库中提取。
此方法虽然能保证数据的实时性,但由于每次都是增量更新在实际项目中很难保证数据长期的准确性,并且当发现错误时也不容易对其进行更正。另外,在业务系统里做统计型数据的增量计算,会对业务系统本身的业务操作产生流程上和性能上的干扰。
发明内容
本申请在于提供一种更新统计数据的方法和系统,能在数据和同时使用人数不断增加的情况下,用户始终能快速地查询到实时的统计数据,在系统长期运行过程中,统计型数据始终保持准确性,并且不对非统计模块产生功能和性能上的影响。
本申请提供了一种更新统计数据的方法,包括:
业务系统接收来自用户的业务请求,对当前业务进行数据处理,将处理完毕的业务数据存入业务数据库和计算服务器内的消息队列;
计算服务器从所述消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据,将所述统计数据更新至统计表数据库中;
任务服务器周期性的遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库。
其中,所述计算服务器内包括增量计算配置文件,所述增量计算配置文件中包括业务种类标识,与该业务种类标识所对应的增量计算辅助模块,以及这两者之间的映射关系;
所述计算服务器从所述消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据的步骤包括:
从所述业务数据中获取业务种类标识,根据所述增量计算配置文件中的映射关系,获取和该业务种类标识所对应的增量计算辅助模块,通过所述增量计算辅助模块计算并获得当前处理完毕业务的增量统计数据。
其中,所述任务服务器内包括执行时间配置文件,所述执行时间配置文件中包括开始时间和循环间隔;所述任务服务器周期性的遍历所述业务数据库中的业务数据的步骤包括:
所述任务服务器根据执行时间配置文件中的开始时间和循环间隔,周期性的遍历所述业务数据库中的业务数据。
其中,所述统计表数据库中包括至少一个统计表;所述统计表中包括统计表名称字段、主键字段、以及用于存放统计值的至少一个预留字段。
其中,所述业务系统还包括统计值含义配置文件,所述统计值含义配置文件中包括统计表名称,以及该统计表在统计表数据库内的位置;
所述方法还包括:
业务系统接收来自用户的统计数据查询请求,根据所述统计值含义配置文件从所述统计表数据库中获得用户所需要的统计数据,传送给所述用户。
其中,所述客户端中还包括统计值含义配置文件,所述统计值含义配置文件中包括统计表名称,以及该统计表在统计表数据库内的位置;
所述方法还包括:
当客户端需要查询统计数据时,根据所述统计值含义配置文件直接从所述统计表数据库中获取所需要的数据。
其中,所述方法还包括:任务服务器根据接收到的计算指令,遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库。
其中,所述业务系统、计算服务器和任务服务器在物理上分离,分别具有独立的硬件和软件资源。
本申请还提供了一种更新统计数据的系统,包括:
业务系统,用于接收来自用户的业务请求,对当前业务进行数据处理,将处理完毕的业务数据存入业务数据库和计算服务器内的消息队列;
计算服务器,用于从所述消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据,将所述统计数据更新至统计表数据库中;
任务服务器,用于周期性的遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库;
业务数据库,用于存放所有用户的业务数据;
统计表数据库,用于存放所有的统计表数据。
其中,所述业务系统,还用于接收来自用户的统计数据查询请求,从所述统计表数据库中获得用户所需要的统计数据,传送给所述用户。
其中,所述任务服务器,还用于根据接收到的计算指令,遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库。
其中,所述统计表数据库中包括至少一个统计表;所述统计表中包括统计表名称字段、主键字段、以及用于存放统计值的至少一个预留字段。
其中,所述业务系统、计算服务器和任务服务器在物理上分离,分别具有独立的硬件和软件资源。
应用本申请,通过计算服务器执行增量统计计算的步骤,避免了数据增量计算对核心业务的影响,同时还保证了统计数据的实时性;通过任务服务器执行统计任务的全面更新,避免了由于异常情况所导致的统计表数据库不准确的问题,保证了统计表数据库的长期准确性,同时,由于由任务服务器执行对所有数据进行统计计算的操作,避免了该统计数据计算对核心业务的影响。可见,应用本申请能在数据和同时使用人数不断增加的情况下,保证客户端始终能快速地查询到实时的统计型数据,在系统长期运行过程中,统计数据始终保持准确性,并且不对非统计模块产生功能和性能上的影响。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的更新统计数据的架构图;
图2是根据本申请实施例的更新统计数据的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,其是根据本申请实施例的更新统计数据的架构图。该实施例中包括客户端106、业务系统101、计算服务器103、任务服务器104、统计表数据库105和业务数据库102。其中,
业务系统101:是保证整体业务正常运行的系统;
计算服务器103:与业务系统在物理上隔开,具有独立的硬件和软件资源,专门负责计算业务数据的增量统计,并更新统计表数据库。计算服务器内包括消息队列,该消息队列以队列的结构存放业务数据,供计算服务器做业务数据增量统计计算。
任务服务器104:与业务系统和计算服务器分别在物理上隔开,具有独立的硬件和软件资源,专门负责每隔一段时间从业务数据库中提取业务数据,计算得出统计值后更新统计表数据库。
统计表数据库105:专门用于存放统计型数据的数据表。统计型数据是在统计的场景下,显示给用户的统计数据。这种数据是经过一定的查询和计算得出的结果,在用户的交互中是只读的,不被用户修改。例如:某个客户的全年交易次数、全年销售金额等等。
业务数据库102:是用于存放所有用户业务数据的数据库。业务型数据是在用户某个实际业务场景下,参与业务处理的数据。例如:新建销售单时,此单据涉及到的金额和签单时间等等。
在图1所示实施例中,业务系统、计算服务器和任务服务器分别在物理上分离,各自具有独立的软硬件资源,在其他可能的实施例中,上述业务系统、计算服务器和任务服务器也可以在物理上不分离,仅在逻辑上分离,或者,其中任意两个在物理上分离或在逻辑上分离。
图2是根据本申请实施例的更新统计数据的流程图,参见图1和图2,更新统计数据的步骤包括:
步骤1,客户端向业务系统发送业务请求,该业务请求中包括处理业务所需的信息。
步骤2,业务系统接收来自用户的业务请求,对当前业务进行数据处理。不同的业务有不同的处理,根据实际业务需求即可。
上两步的处理过程与现有技术完全相同。
步骤3a,业务系统将处理完毕的业务数据存入业务数据库,以使业务数据库存储所有用户的所有业务数据。
步骤3b,业务系统将处理完毕的业务数据存入计算服务器内的消息队列。
这里,业务系统可以通过远程调用的方式将处理完毕的业务数据放到计算服务器内的消息队列中。
计算服务器内消息队列以队列的结构存放业务数据,供计算服务器做业务数据增量统计计算。
消息队列是一个存放在内存里的数据容器,具有高效存取的特点,消息队列以队列的结构存放业务数据,供计算服务器做业务数据增量统计计算。
上述步骤3a和3b没有严格的先后顺序,既可以先执行步骤3a再执行步骤3b,也可以同时执行步骤3a和3b,还可以先执行步骤3b再执行步骤3a。
步骤4,计算服务器周期性从消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据。
步骤5,计算服务器将计算出的统计数据更新至统计表数据库中;该统计表数据库用于存放所有的统计数据,以供客户端随时查询其需要的统计数据。
这里,计算服务器从消息队列中获取数据的周期通常设置的较短,如周期设为1分钟,这样可以保证处理的实时性,从而保证统计数据的实时性。
由于增量计算只对当前处理完毕的业务数据进行统计计算,因而计算量很少,处理迅速,使得统计表数据库中的数据具有很好的实时性。
步骤6,任务服务器周期性的遍历所述业务数据库中的业务数据。
这里,任务服务器处理的周期相对较长,比如,可以是1天,也可以是1周等。而且,其执行的开始时间可以设置在任何需要的时间,由于该任务服务器和业务系统在物理是分开的,因而,无论其什么时间执行都不会影响业务系统的正常处理。
步骤7,根据业务数据进行统计计算,获得针对业务数据库整体的统计数据。
步骤8,应用针对业务数据库整体的统计数据覆盖统计表数据库中的所有数据,更新统计表数据库。
通过上述描述可以理解,步骤4中计算服务器执行的统计计算是针对当前业务的增量的统计计算,计算服务器将计算出的统计数据更新至统计表数据库中是为了使得统计表数据库中的数据保证实时性;步骤7中的任务服务器执行的统计计算是针对业务数据库整体的统计数据,在步骤8中应用针对业务数据库整体的统计数据覆盖统计表数据库中的所有数据,更新统计表数据库的目的是为了使得统计表数据库中的数据保证准确性,即避免由于长时间的增量更新所导致的不确定的系统异常等情况。
上述步骤6~8与步骤1~5之间没有必然的先后顺序,由于任务服务器是周期性的执行,因而,只要到达执行时间点其就会开始执行,所以通常不会是步骤5执行完毕后马上进行。
至此,完成了统计数据的更新。本发明实施例还可以包括:
步骤9,客户端从统计表数据库中获取所需要的统计数据。
这里,客户端可以直接从统计表数据库中获取所需要的统计数据,还可以通过业务系统获得所需要的统计数据,即,客户端向业务系统发送统计数据请求,由业务系统从统计表数据库中获取用户所需要的数据然后传送给客户端。
需要说明的是,在计算服务器内预先设置了增量计算配置文件,通过该增量计算配置文件来满足所有统计业务中的增量更新需求。由于每种类型的业务操作所对应的增量计算逻辑是不同的,对此为每种业务操作专门设计了一个或多个与之对应的增量计算辅助模块,当某种业务操作发生时,计算服务器能通过增量配置文件自动找到与之相应的增量计算辅助模块,从而进行增量计算,即上述增量计算配置文件中包括业务种类标识,与该业务种类标识所对应的增量计算辅助模块,以及这两者之间的映射关系,以下是增量计算配置文件的一种具体实现方式:
<entity To StatCalc>
         <property entityName=″SalesBill″>
               <refs>salesAmount,salesAmountCompany</refs>
         </property>
         //#当SalesBill所表示的业务发生时,由salesAmount和
          salesAmountCompany所表示的计算模块进行增量计算
        <property entityName=″ReceiveBill″>
               <refs>arAmount,arAmountCompany</refs>
        </property>
        //#当ReceiveBill所表示的业务发生时,由arAmount和
           arAmountCompany所表示的计算模块进行增量计算
</entityToStatCalc>
以上是以可扩展标记语言(XML,Extensible Markup Language)为例提供的一种具体的增量配置文件,上例中property表示一种映射,其中entityName表示某种业务标识,property下的refs表示所对应的增量计算辅助模块,例如,上例提供了两个映射关系,即当业务标识为SalesBill所表示的业务发生时,由salesAmount和salesAmountCompany所表示的计算模块进行增量计算,当由业务标识为ReceiveBill所表示的业务发生时,由arAmount和arAmountCompany所表示的计算模块进行增量计算。
基于上述增量计算配置文件,步骤4中的计算服务器进行增量统计计算获得当前处理完毕业务的增量统计数据的步骤包括:
计算服务器从已获取的来自消息队列的业务数据中获取业务种类标识,根据增量计算配置文件中的映射关系,获取和该业务种类标识所对应的增量计算辅助模块,通过增量计算辅助模块计算并获得当前处理完毕业务的增量统计数据。
需要说明的是,在任务服务器内预先设置了执行时间配置文件,通过该执行时间配置文件可以实现在不修改功能代码(包括运行任务所需要的代码和任务本身所执行的逻辑代码)的情况下,在任何需要的时间进行统计表数据库的完全更新过程。上述执行时间配置文件包括开始时间和循环间隔,以下是增量计算配置文件的一种具体实现方式:
<task type=″simpleTrigger″>
       <property name=″startTime″value=″3,0″/>
       <property name=″repeatInterval″value=″daily″/>
</task>
以上是以XML语言为例提供的一种具体的执行时间配置文件,上例中的task表示统计任务的配置,它有两个配置参数,startTime表示任务开始时间,repeatInterval表示任务的循环间隔。通过以上配置信息能够达到对任务的执行时间灵活配置的目的。
基于上述执行时间配置文件,步骤6中的任务服务器周期性的遍历所述业务数据库中的业务数据的步骤包括:
任务服务器根据执行时间配置文件中的开始时间和循环间隔,周期性的遍历所述业务数据库中的业务数据。
需要说明的是,统计表数据库用于存放供客户端随时查询的统计表数据,该统计表数据库可以包括至少一个统计表;该统计表是一个通用的表结构,参见表3,其是根据本申请实施例的一个统计表的结构。
表3
在表3所示统计表中包括统计表名称字段如fi_md_statistics、主键字段如STAT_ID、以及用于存放统计值的至少一个预留字段如FIELD_1......FIELD_30,可以理解,该统计表中还需包括用于标识统计内容的目标文件标识字段如OBJ_ID和目标文件类型字段如OBJ_TYPE。图3中的PK即表示STAT_ID为主键。由于不同业务的统计值含义不同,因而上述用于存放统计值的预留字段的含义由统计值含义配置文件决定,以下是统计值含义配置文件的一种具体实现方式:
<entity table=″fi_md_statistics″>
      ......
      <item id=″salesAmountItem″field=″field1″desc=″当前客户本年销
       售金额″produceName=”stat_sales”>
      </item>
      ......
</entity>
以上是以XML语言为例提供的一种具体的统计值含义配置文件,上例中entity表示相对于一个统计表的总结点,其中table表示统计表在统计表数据库中的表名;item表示一个统计项的配置,其中field表示该item统计项在统计表里所在列的列名,produceName表示任务所调用统计表数据库存储过程的名称。也即,统计值含义配置文件中包括统计表名称,以及该统计表在统计表数据库内的位置。
基于上述统计值含义配置文件,在步骤9中,当客户端直接从统计表数据库中获取所需要的统计数据时,该客户端内需预先设置统计值含义配置文件,当客户端查询统计数据时,根据统计值含义配置文件直接从所述统计表数据库中获取所需要的数据;当客户端通过业务系统获取所需要的统计数据时,在业务系统中要预先设置统计值含义配置文件,当业务系统接收来自用户的统计数据查询请求后,根据统计值含义配置文件从统计表数据库中获得用户所需要的统计数据,传送给客户端。由于采取通用表结构定义统计表,并通过统计值含义配置文件说明统计数据的具体业务意义,这样本申请无需更改设计,即可通过配置的方式应用于多种业务场景。
需要说明的是,可以将上述增量计算配置文件、执行时间配置文件和统计值含义配置文件预先设置为一套配置文件,即该套配置文件中分别包含上述三个配置文件,对所有的服务器如业务系统、计算服务器和任务服务器均安装该一整套的配置文件,这样做的好处是实际操作方便,不易出错。当然,也可以根据实际需要对不同的服务器安装不同的配置文件,例如,在业务服务器上预设统计值含义配置文件,在计算服务器上预设增量配置文件,在任务服务器上预设执行时间配置文件。
需要说明的是,为应对异常情况,任务服务器还可以根据接收到的计算指令,遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库。这样,只需启动统计任务,即可完成统计表数据库的更正。
需要说明的是,图2所示实施例中,业务系统、计算服务器和任务服务器分别在物理上分离,各自具有独立的软硬件资源,在其他可能的实施例中,上述业务系统、计算服务器和任务服务器也可以在物理上不分离,仅在逻辑上分离,或者,其中任意两个在物理上分离或在逻辑上分离。
应用本申请实施例,通过计算服务器内的消息队列,将业务处理和统计数据的增量计算隔离开来(业务处理由业务系统完成,统计数据增量计算由计算服务器完成),使得业务系统里的核心业务处理与计算服务器里的统计数据的增量计算能异步进行,两者在物理上也是具有独立的计算资源,这样尽可能的减少了对核心业务处理的影响。另外,消息队列是一个存放在计算服务器内存里的数据容器,具有高效存取的特点,计算服务器通过定时任务的形式,周期性的从消息队列里取业务数据进行增量计算,通过提高周期频率,如周期定为每1分钟,10秒等,能有效保证统计数据的实时性。即,由于计算服务器的存在,避免了数据增量计算对核心业务的影响,同时还保证了统计数据的实时性。
再有,通过任务服务器来执行统计任务的全面更新,避免了由于宕机等异常情况所导致的统计表数据库不准确的问题,保证了统计表数据库的长期准确性,同时,由于由任务服务器执行对所有数据进行统计计算的操作,避免了该统计数据计算对核心业务的影响。
可见,应用本申请能在数据和同时使用人数不断增加的情况下,用户始终能快速地查询到实时的统计型数据,在系统长期运行过程中,统计数据始终保持准确性,并且不对非统计模块产生功能和性能上的影响。
本申请还提供了一种更新统计数据的系统,仍参见图1,其包括:业务系统101、业务数据库102、计算服务器103、任务服务器104以及统计表数据库105,其中,
业务系统101,用于接收来自用户的业务请求,对当前业务进行数据处理,将处理完毕的业务数据存入业务数据库102和计算服务器103内的消息队列;
计算服务器103,用于从所述消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据,将所述统计数据更新至统计表数据库105中;
任务服务器104,用于周期性的遍历所述业务数据库102中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库102整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库105中的所有数据,更新统计表数据库105;
业务数据库102,用于存放所有用户的业务数据;
统计表数据库105,用于存放所有的统计表数据。
上述业务系统101,还用于接收来自客户端的统计数据查询请求,从所述统计表数据库105中获得用户所需要的统计数据,传送给所述客户端。
上述任务服务器104,还用于根据接收到的计算指令,遍历所述业务数据库102中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库102整体的统计数据覆盖所述统计表数据库105中的所有数据,更新统计表数据库105。
上述统计表数据库105中包括至少一个统计表;所述统计表中包括统计表名称字段、主键字段、以及用于存放统计值的至少一个预留字段。
上述业务系统101、计算服务器103和任务服务器104在物理上分离,分别具有独立的硬件和软件资源。
系统中所涉及的具体处理过程参见有关方法部分的描述,此处不再赘述。
应用本申请实施例,通过计算服务器执行增量统计计算的步骤,避免了数据增量计算对核心业务的影响,同时还保证了统计数据的实时性;通过任务服务器执行统计任务的全面更新,避免了由于异常情况所导致的统计表数据库不准确的问题,保证了统计表数据库的长期准确性,同时,由于由任务服务器执行对所有数据进行统计计算的操作,避免了该统计数据计算对核心业务的影响。可见,应用本申请能在数据和同时使用人数不断增加的情况下,保证客户端始终能快速地查询到实时的统计型数据,在系统长期运行过程中,统计数据始终保持准确性,并且不对非统计模块产生功能和性能上的影响。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (13)

1、一种更新统计数据的方法,其特征在于,包括:
业务系统接收来自用户的业务请求,对当前业务进行数据处理,将处理完毕的业务数据存入业务数据库和计算服务器内的消息队列;
计算服务器从所述消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据,将所述统计数据更新至统计表数据库中;
任务服务器周期性的遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库。
2、根据权利要求1所述的方法,其特征在于,
所述计算服务器内包括增量计算配置文件,所述增量计算配置文件中包括业务种类标识,与该业务种类标识所对应的增量计算辅助模块,以及这两者之间的映射关系;
所述计算服务器从所述消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据的步骤包括:
从所述业务数据中获取业务种类标识,根据所述增量计算配置文件中的映射关系,获取和该业务种类标识所对应的增量计算辅助模块,通过所述增量计算辅助模块计算并获得当前处理完毕业务的增量统计数据。
3、根据权利要求1所述的方法,其特征在于,
所述任务服务器内包括执行时间配置文件,所述执行时间配置文件中包括开始时间和循环间隔;
所述任务服务器周期性的遍历所述业务数据库中的业务数据的步骤包括:
所述任务服务器根据执行时间配置文件中的开始时间和循环间隔,周期性的遍历所述业务数据库中的业务数据。
4、根据权利要求1所述的方法,其特征在于,所述统计表数据库中包括至少一个统计表;所述统计表中包括统计表名称字段、主键字段、以及用于存放统计值的至少一个预留字段。
5、根据权利要求1所述的方法,其特征在于,
所述业务系统还包括统计值含义配置文件,所述统计值含义配置文件中包括统计表名称,以及该统计表在统计表数据库内的位置;
所述方法还包括:
业务系统接收来自用户的统计数据查询请求,根据所述统计值含义配置文件从所述统计表数据库中获得用户所需要的统计数据,传送给所述用户。
6、根据权利要求1所述的方法,其特征在于,
所述客户端中还包括统计值含义配置文件,所述统计值含义配置文件中包括统计表名称,以及该统计表在统计表数据库内的位置;
所述方法还包括:
当客户端需要查询统计数据时,根据所述统计值含义配置文件直接从所述统计表数据库中获取所需要的数据。
7、根据权利要求1所述的方法,其特征在于,所述方法还包括:任务服务器根据接收到的计算指令,遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库。
8、根据权利要求1所述的方法,其特征在于,所述业务系统、计算服务器和任务服务器在物理上分离,分别具有独立的硬件和软件资源。
9、一种更新统计数据的系统,其特征在于,包括:
业务系统,用于接收来自用户的业务请求,对当前业务进行数据处理,将处理完毕的业务数据存入业务数据库和计算服务器内的消息队列;
计算服务器,用于从所述消息队列中获取当前处理完毕的业务数据,进行增量统计计算获得当前处理完毕业务的增量统计数据,将所述统计数据更新至统计表数据库中;
任务服务器,用于周期性的遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库;
业务数据库,用于存放所有用户的业务数据;
统计表数据库,用于存放所有的统计表数据。
10、根据权利要求9所述的系统,其特征在于,所述业务系统,还用于接收来自用户的统计数据查询请求,从所述统计表数据库中获得用户所需要的统计数据,传送给所述用户。
11、根据权利要求9所述的系统,其特征在于,所述任务服务器,还用于根据接收到的计算指令,遍历所述业务数据库中的业务数据,根据所述业务数据进行统计计算,获得针对所述业务数据库整体的统计数据,应用所述针对所述业务数据库整体的统计数据覆盖所述统计表数据库中的所有数据,更新统计表数据库。
12、根据权利要求9所述的系统,其特征在于,所述统计表数据库中包括至少一个统计表;所述统计表中包括统计表名称字段、主键字段、以及用于存放统计值的至少一个预留字段。
13、根据权利要求9所述的系统,其特征在于,所述业务系统、计算服务器和任务服务器在物理上分离,分别具有独立的硬件和软件资源。
CN2009101431244A 2009-05-14 2009-05-14 一种更新统计数据的方法和系统 Expired - Fee Related CN101557316B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2009101431244A CN101557316B (zh) 2009-05-14 2009-05-14 一种更新统计数据的方法和系统
HK10103608.6A HK1135261A1 (en) 2009-05-14 2010-04-13 Method and system of updating statistical data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101431244A CN101557316B (zh) 2009-05-14 2009-05-14 一种更新统计数据的方法和系统

Publications (2)

Publication Number Publication Date
CN101557316A true CN101557316A (zh) 2009-10-14
CN101557316B CN101557316B (zh) 2011-07-27

Family

ID=41175270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101431244A Expired - Fee Related CN101557316B (zh) 2009-05-14 2009-05-14 一种更新统计数据的方法和系统

Country Status (2)

Country Link
CN (1) CN101557316B (zh)
HK (1) HK1135261A1 (zh)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098756A (zh) * 2009-12-15 2011-06-15 华为技术有限公司 一种业务控制的方法,装置和系统
CN102737319A (zh) * 2011-04-08 2012-10-17 中兴通讯股份有限公司 基于业务数据库的营销分析方法及系统
CN102945257A (zh) * 2012-10-18 2013-02-27 北京京东世纪贸易有限公司 初始化数据库的方法和装置
CN103577474A (zh) * 2012-08-03 2014-02-12 阿里巴巴集团控股有限公司 一种数据库的更新方法及系统
CN104346466A (zh) * 2014-11-12 2015-02-11 中国建设银行股份有限公司 数据库中添加新属性数据的方法和装置
CN104933101A (zh) * 2015-05-29 2015-09-23 南车株洲电力机车研究所有限公司 一种基于svn的配置审计信息自动统计方法
CN105488076A (zh) * 2014-10-09 2016-04-13 阿里巴巴集团控股有限公司 数据累积方法和装置
CN105574037A (zh) * 2014-10-16 2016-05-11 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN105610969A (zh) * 2016-01-26 2016-05-25 上海新储集成电路有限公司 一种统计终端用户到Web服务器的数据请求的方法
CN107169095A (zh) * 2017-05-12 2017-09-15 郑州云海信息技术有限公司 一种db2数据库表统计信息收集方法及系统
CN107341033A (zh) * 2017-06-30 2017-11-10 百度在线网络技术(北京)有限公司 一种数据统计方法、装置、电子设备和存储介质
CN107368360A (zh) * 2017-06-05 2017-11-21 努比亚技术有限公司 一种定时任务执行方法及定时任务服务器
CN107517168A (zh) * 2016-06-15 2017-12-26 阿里巴巴集团控股有限公司 一种消息计数的纠偏方法和装置
CN108076091A (zh) * 2016-11-14 2018-05-25 北京京东尚科信息技术有限公司 用于应用程序发版的方法和系统
CN108427725A (zh) * 2018-02-11 2018-08-21 华为技术有限公司 数据处理方法、装置和系统
CN108563776A (zh) * 2018-04-24 2018-09-21 武汉斗鱼网络科技有限公司 离线数据获取方法及系统、服务器及存储介质
CN109522285A (zh) * 2018-11-14 2019-03-26 北京首信科技股份有限公司 一种日志数据统计方法及系统
CN109766194A (zh) * 2018-11-29 2019-05-17 南瑞集团有限公司 基于消息的低耦合计划任务组件的实现方法及其系统
CN109800213A (zh) * 2019-01-22 2019-05-24 四川长虹电器股份有限公司 基于rabbitmq的生产质量数据统计系统和方法
CN109840262A (zh) * 2018-12-29 2019-06-04 深圳云天励飞技术有限公司 数据统计方法及相关装置
CN110417620A (zh) * 2019-07-24 2019-11-05 南京大全自动化科技有限公司 一种并行式数据优化统计系统及方法
WO2020052429A1 (zh) * 2018-09-13 2020-03-19 百富计算机技术(深圳)有限公司 一种数据统计方法、系统及终端设备
CN111209293A (zh) * 2019-12-31 2020-05-29 江苏创好业科技有限公司 一种数据处理方法
CN111241113A (zh) * 2020-01-03 2020-06-05 北京纷扬科技有限责任公司 一种基于PaaS架构的统计图数据实时计算系统及方法
CN111814001A (zh) * 2019-04-11 2020-10-23 杭州海康威视数字技术股份有限公司 反馈信息的方法和装置
CN111858587A (zh) * 2020-07-10 2020-10-30 北京青云科技股份有限公司 一种数据库数据的计数方法、装置、设备及存储介质
CN111901684A (zh) * 2020-07-30 2020-11-06 深圳市康冠科技股份有限公司 一种文件分类方法及相关装置
CN112084219A (zh) * 2020-09-16 2020-12-15 京东数字科技控股股份有限公司 用于处理数据的方法、装置、电子设备和介质
CN112131276A (zh) * 2020-09-27 2020-12-25 深圳市欢太科技有限公司 一种数据统计的方法、电子设备及可读存储介质
CN113312412A (zh) * 2021-06-25 2021-08-27 建信金融科技有限责任公司 一种统计数据的获取方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093483A (zh) * 2006-06-22 2007-12-26 上海全成通信技术有限公司 一种知识库数据采集刷新的方法
CN101102577B (zh) * 2006-07-07 2010-12-08 中兴通讯股份有限公司 无线通信基站系统前后台数据库表数据增量同步方法
CN101079683A (zh) * 2007-06-27 2007-11-28 中国移动通信集团四川有限公司 数据一致性处理方法

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098756A (zh) * 2009-12-15 2011-06-15 华为技术有限公司 一种业务控制的方法,装置和系统
CN102737319A (zh) * 2011-04-08 2012-10-17 中兴通讯股份有限公司 基于业务数据库的营销分析方法及系统
CN103577474A (zh) * 2012-08-03 2014-02-12 阿里巴巴集团控股有限公司 一种数据库的更新方法及系统
CN103577474B (zh) * 2012-08-03 2017-06-09 阿里巴巴集团控股有限公司 一种数据库的更新方法及系统
CN102945257B (zh) * 2012-10-18 2016-08-17 北京京东世纪贸易有限公司 初始化数据库的方法和装置
CN102945257A (zh) * 2012-10-18 2013-02-27 北京京东世纪贸易有限公司 初始化数据库的方法和装置
CN105488076B (zh) * 2014-10-09 2019-01-18 阿里巴巴集团控股有限公司 数据累积方法和装置
CN105488076A (zh) * 2014-10-09 2016-04-13 阿里巴巴集团控股有限公司 数据累积方法和装置
CN105574037A (zh) * 2014-10-16 2016-05-11 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN105574037B (zh) * 2014-10-16 2019-01-29 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN104346466A (zh) * 2014-11-12 2015-02-11 中国建设银行股份有限公司 数据库中添加新属性数据的方法和装置
CN104933101B (zh) * 2015-05-29 2018-05-29 南车株洲电力机车研究所有限公司 一种基于svn的配置审计信息自动统计方法
CN104933101A (zh) * 2015-05-29 2015-09-23 南车株洲电力机车研究所有限公司 一种基于svn的配置审计信息自动统计方法
CN105610969B (zh) * 2016-01-26 2018-12-18 上海新储集成电路有限公司 一种统计终端用户到Web服务器的数据请求的方法
CN105610969A (zh) * 2016-01-26 2016-05-25 上海新储集成电路有限公司 一种统计终端用户到Web服务器的数据请求的方法
CN107517168A (zh) * 2016-06-15 2017-12-26 阿里巴巴集团控股有限公司 一种消息计数的纠偏方法和装置
CN107517168B (zh) * 2016-06-15 2021-01-29 阿里巴巴集团控股有限公司 一种消息计数的纠偏方法和装置
CN108076091A (zh) * 2016-11-14 2018-05-25 北京京东尚科信息技术有限公司 用于应用程序发版的方法和系统
CN107169095A (zh) * 2017-05-12 2017-09-15 郑州云海信息技术有限公司 一种db2数据库表统计信息收集方法及系统
CN107368360A (zh) * 2017-06-05 2017-11-21 努比亚技术有限公司 一种定时任务执行方法及定时任务服务器
CN107368360B (zh) * 2017-06-05 2021-01-26 和宇健康科技股份有限公司 一种定时任务执行方法及定时任务服务器
CN107341033A (zh) * 2017-06-30 2017-11-10 百度在线网络技术(北京)有限公司 一种数据统计方法、装置、电子设备和存储介质
CN108427725A (zh) * 2018-02-11 2018-08-21 华为技术有限公司 数据处理方法、装置和系统
CN108563776B (zh) * 2018-04-24 2022-06-17 武汉斗鱼网络科技有限公司 离线数据获取方法及系统、服务器及存储介质
CN108563776A (zh) * 2018-04-24 2018-09-21 武汉斗鱼网络科技有限公司 离线数据获取方法及系统、服务器及存储介质
WO2020052429A1 (zh) * 2018-09-13 2020-03-19 百富计算机技术(深圳)有限公司 一种数据统计方法、系统及终端设备
CN109522285A (zh) * 2018-11-14 2019-03-26 北京首信科技股份有限公司 一种日志数据统计方法及系统
CN109766194A (zh) * 2018-11-29 2019-05-17 南瑞集团有限公司 基于消息的低耦合计划任务组件的实现方法及其系统
CN109766194B (zh) * 2018-11-29 2021-02-05 南瑞集团有限公司 基于消息的低耦合计划任务组件的实现方法及其系统
CN109840262A (zh) * 2018-12-29 2019-06-04 深圳云天励飞技术有限公司 数据统计方法及相关装置
CN109800213A (zh) * 2019-01-22 2019-05-24 四川长虹电器股份有限公司 基于rabbitmq的生产质量数据统计系统和方法
CN109800213B (zh) * 2019-01-22 2022-03-25 四川长虹电器股份有限公司 基于rabbitmq的生产质量数据统计系统和方法
CN111814001A (zh) * 2019-04-11 2020-10-23 杭州海康威视数字技术股份有限公司 反馈信息的方法和装置
CN111814001B (zh) * 2019-04-11 2024-05-10 杭州海康威视数字技术股份有限公司 反馈信息的方法和装置
CN110417620A (zh) * 2019-07-24 2019-11-05 南京大全自动化科技有限公司 一种并行式数据优化统计系统及方法
CN111209293A (zh) * 2019-12-31 2020-05-29 江苏创好业科技有限公司 一种数据处理方法
CN111241113A (zh) * 2020-01-03 2020-06-05 北京纷扬科技有限责任公司 一种基于PaaS架构的统计图数据实时计算系统及方法
CN111858587A (zh) * 2020-07-10 2020-10-30 北京青云科技股份有限公司 一种数据库数据的计数方法、装置、设备及存储介质
CN111901684A (zh) * 2020-07-30 2020-11-06 深圳市康冠科技股份有限公司 一种文件分类方法及相关装置
CN112084219A (zh) * 2020-09-16 2020-12-15 京东数字科技控股股份有限公司 用于处理数据的方法、装置、电子设备和介质
CN112131276A (zh) * 2020-09-27 2020-12-25 深圳市欢太科技有限公司 一种数据统计的方法、电子设备及可读存储介质
CN113312412A (zh) * 2021-06-25 2021-08-27 建信金融科技有限责任公司 一种统计数据的获取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN101557316B (zh) 2011-07-27
HK1135261A1 (en) 2010-05-28

Similar Documents

Publication Publication Date Title
CN101557316B (zh) 一种更新统计数据的方法和系统
US20220188884A1 (en) Method and system for dynamic pricing of web services utilization
CN111727428B (zh) 基于区块链的房间库存管理系统
US8589549B1 (en) Method and system for customer incentive-based management of computing resource utilization
CN107395733A (zh) 地理分布交互服务云资源协同优化方法
CN103533037A (zh) 基于经济模型的转发和控制分离网络中的资源调度方法
CN112150075A (zh) 一种集装箱及物料管理系统
Reuter et al. Coordination and integration
AU2008203816B2 (en) Message sequence management of enterprise based correlated events
CN110210801B (zh) 一种服务库存管理方法及系统、服务器
CN109560940A (zh) 一种内容分发网络cdn服务的计费方法及装置
CN103229485B (zh) 业务能力共享的实现方法和平台
CN101719244A (zh) 处理库存单据的方法、应用服务器和企业网络系统
Wu A time staged linear programming model for production loading problems with import quota limit in a global supply chain
CN110008970A (zh) 一种地址信息生成方法和装置
CN110322155A (zh) 一种办公资源配置方法、装置、设备及可读存储介质
US20210350386A1 (en) Systems and Methods for Interconnecting Manufacturing Nodes and Consumer End Points
CN101098236A (zh) 一种分布式对等网络实体之间的交易管理方法及其系统
CN112668835A (zh) 一种基于架构的信息系统管理方法
RU2743461C1 (ru) Способ обмена данными между рекламными агентствами и сеткой рекламных мест посредством комплекса программных интерфейсов для автоматизации размещения роликов рекламных сообщений в сетке и система оптимизации размещения роликов рекламных сообщений для реализации способа
Merinova et al. The specifics of the implementation of the cloud information system SKYSERVICE at the enterprise
Ghofrani et al. Conceptualizing A Configuration Service for Complex Automation Systems
Tang et al. Research on computing the degree of relevant service on ERP system
CN115186906A (zh) 一种集装箱经营性租赁还箱智能预测方法及平台
Chazalet et al. A Meta-Model Approach for the Deployment of Services-oriented Applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1135261

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1135261

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110727