统计投票数据的方法及装置与流程

文档序号:13804794阅读:1200来源:国知局
统计投票数据的方法及装置与流程

本发明涉及互联网技术领域,尤其涉及一种统计投票数据的方法及装置。



背景技术:

移动端app正在彻底改变人们的工作及生活方式;而中国国产app创新产品,也正开始进入外国人的工作和生活,特别是北美和东南亚等地区。这一趋势,引发业界越来越多的兴趣,这也带来了越来越多的全球化业务,如全球化投票。全球化投票系统会并发地操作投票数据,并发处理时数据冲突可能性大,通过集中式处理架构可以集中管理数据、减少数据冲突,但是当数据快速增加时,单一主机的运算能力将难以负荷,虽避免了数据冲突,但无法满足高并发的性能要求。

具体而言,全球化的投票具有请求随机,高并发,数据跨全球传输的特点,从而导致全球化投票面临数据冲突和数据从发送至接收所历时的往返时延较高即高rtt两个问题。

目前,对于这两个问题处理,主要存在以下三种方案:

1、在各地idc机房之间建立光纤专线。

这种方案弱化了分布式节点的差异,从网络传输上将分步式转换成了集中式处理,但成本极高,往往只有互联网巨头在核心业务上才会采取这种方案。

2、所有投票请求都发到一个地方集中处理

这种方式数据传输慢,传输距离过长,数据不可靠,延时高。

3、投票数据都写入消息队列。

这种方式需要跨区域消费队列,跟方案2类似,数据丢失可能性大,rtt高,处理效率低,无法应对投票数据高并发的要求。

由此可见,现有的技术方案带来了更多的跨地域交互数据,成本高,数据可靠性降低,rtt增加,用户体验感降低。



技术实现要素:

本发明提供一种提高投票数据发送可靠性的统计投票数据的方法及装置。

第一方面,本发明提供一种统计投票数据的方法,包括以下步骤:

用户分区系统接收移动终端发送的携带地址标识的投票请求,根据所述地址标识,将所述投票请求发送至与所述地址标识对应的投票子系统;

所述投票子系统接收所述投票请求,将所述投票请求对应的投票数据同步到数据中心系统;

所述数据中心系统根据所述投票子系统的所述投票数据,统计投票结果。

具体的,所述地址标识包括地理位置标识和/或ip地址。

具体的,所述地址标识为地理位置标识,所述根据所述地址标识,将所述投票请求发送至与所述地址标识对应投票子系统,包括:

依据地理位置标识,确定所述地理位置标识所在区域对应的投票子系统,将所述投票请求发送至所述投票子系统。

具体的,所述将所述投票请求对应的投票数据同步到数据中心系统,包括:

通过mysql主从结构,将所述投票请求对应的投票数据同步到数据中心系统。

优选的,所述数据中心系统包括数据中心及投票结果管理系统;

所述数据中心系统根据投票子系统的投票数据,统计投票数据,包括:

所述数据中心接收投票子系统的投票数据;

所述投票结果管理系统监测投票子系统的投票数据;当投票子系统的最新投票数据大于该投票子系统的历史投票数据,根据所述最新投票数据与所述历史投票数据的差值更新投票数据,依据该投票数据,统计投票结果;把投票子系统的最新投票数据作为该投票子系统的历史投票数据。

优选的,所述投票子系统接收所述投票请求,将所述投票请求对应的投票数据同步到数据中心系统,包括:

所述投票子系统监测接收所述投票请求,监测所述投票请求对应的投票数据;

依据所述投票数据更新该投票子系统的最新投票数据,并将所述最新投票数据同步到数据中心系统。

优选的,将所述投票请求发送至与所述地址标识对应的投票子系统,包括:

为移动终端分配地址标识对应的分区号,将所述投票请求发送至与分区号对应的投票子系统。

具体的,所述统计投票结果之后,还包括:

将统计投票结果得到的投票总数及排行信息,根据所述分区号反馈至移动终端。

第二方面,本发明还提供一种统计投票数据装置,包括:

用户分区系统:用于接收移动终端发送的携带地址标识的投票请求,根据所述地址标识,将所述投票请求发送至与所述地址标识对应的投票子系统;

投票子系统:用于接收所述投票请求,将所述投票请求对应的投票数据同步到数据中心系统;

数据中心系统:用于根据所述投票子系统的所述投票数据,统计投票结果。

相比现有技术,本发明提供的方案有以下优点:

1、本发明提供一种统计投票数据的方法及装置,通过将投票系统分解成子投票系统,接收用户的投票请求,将用户的投票请求根据地理位置将其分配到最近的子投票系统,每预设时间段对各投票子系统中投票数据进行监测,并对预设时间段内各投票子系统中的最新投票数据进行统计后汇总,将汇总后的结果更新至被投票对象的投票结果中,并将该投票结果反馈至各投票终端完成投票。本发明提供将接收的投票请求发送到投票子系统,再由投票子系统处理本区的数据,并返回应答消息,降低了rtt,较少数据冲突,避免高rtt导致的投票数据丢失,提高投票数据发送可靠性。另一方面,本发明所述一种统计投票数据的方法不需要使用光纤,采用分布式的子系统分担了数据处理压力,降低成本的同时提高数据处理效率。

2、本发明通过将投票系统划分成很多子系统,各子系统先处理本区数据,通过mysql主从结构,在投票子系统和数据中心数据同步,分布式的子系统分担了各区的压力,投票系统处理压力降低,跨区交互数据减少,数据并发能力增强,有效防止了数据冲突。另外,由于跨区交互数据减少,所以数据传输过程中产生的丢包率也减少,数据的可靠性得到提高。

3、通过监测各投票子系统中的最新数据与历史数据的差值,并依据该差值更新最终的投票结果,增强了本方案的灵活性,最新数据和历史数据的设计提高了系统可靠性。通过建立分区号,以分区方式对移动终端、投票子系统、投票结果进行管理,用户请求得到及时且精准的应答,提升用户体验。

4、本发明解决了现有技术中,要么需要花费大量的成本,要么跨节点访问数据,rtt高,数据不可靠,处理效率低等问题,建立一种数据可靠,低rtt,低成本的全球投票系统实现,在较低成本的基础上实现了高效的全球投票,降低了公司运营成本,提升用户体验。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明的一种统计投票数据的方法实施例一流程框图;

图2为本发明的一种统计投票数据装置的拓扑图;

图3为本发明的一种统计投票数据的方法实施例二流程框图;

图4为本发明的一种统计投票数据的方法的应用实施例流程图;

图5为本发明的一种统计投票数据的装置实施例一流程框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

请参阅图1,本发明所提供的一种统计投票数据的方法中,具体的一种实施方式中,具体包括如下步骤:

s11、用户分区系统接收移动终端发送的携带地址标识的投票请求,根据所述地址标识,将所述投票请求发送至与所述地址标识对应的投票子系统。

本发明实施例中,所述地址标识包括地理位置标识和/或ip地址。当所述地址标识为地理位置标识时,所述用户分区系统根据所述地理位置标识查询距离该地理位置标识对应的区域最近的投票子系统,并将接收到的投票请求转发至该投票子系统。当所述地理位置标识为ip地址时,所述用户分区系统根据所述ip地址查询与该ip地址对应的地理位置附近的投票子系统,并将所述投票请求转发给该投票子系统。

本发明实施例中,所述根据所述地址标识,将所述投票请求发送至与所述地址标识对应的投票子系统,具体还包括:

为移动终端分配地址标识对应的分区号,将所述投票请求发送至与分区号对应的投票子系统。

一种可能的设计中,所述用户分区系统将所述投票请求直接转发给对应的投票子系统,或者所述用户分区系统将所述投票请求进行处理,例如在所述投票请求后加一个地理位置或表征该地理位置所在区域的分区号对应的字段之后,将处理后的投票请求转发至对应的投票子系统。

请参考图2,图2为本发明所述一种投票系统的实现方法的拓扑图。图中示出,所述投票系统包括用户分区系统、投票子系统、数据中心以及投票结果管理系统。所述用户分区系统将接收到的投票请求人发送的投票请求后将其转发至对应的投票子系统并为其分配对应的分区号。图2中示出了,三个投票子系统suba、subb、subc及其对应的分区号分区a、分区b、分区c。当所述投票子系统收到投票请求时,根据所述投票请求中携带的所述地址标识将该投票请求转发至与所述地址标识对应的投票子系统suba、subb、subc中并依据该地址标识为该投票请求对应的移动终端分配分区号。

s12、所述投票子系统接收所述投票请求,将所述投票请求对应的投票数据同步到数据中心系统。

各所述投票子系统维护本分区号对应的分区的投票数据,所述投票子系统接收所述投票请求,增量更新本分区号对应的投票数据,并通过mysql主从结构,同步到数据中心系统。所述投票子系统中的投票数据包括该子系统的历史投票数据以及最新投票数据。

一种可能的设计中,所述投票子系统接收所述投票请求,将所述投票请求对应的投票数据同步到数据中心系统,具体通过以下方式实现:

所述投票子系统实时监测接收的投票数据;当投票子系统的最新投票数据大于该投票子系统的历史投票数据,根据所述最新投票数据与所述历史投票数据的差值更新该投票子系统的投票数据,并将更新之后的投票数据同步到数据中心系统。

优选的,所述投票子系统收到所述投票请求之后,依据所述投票请求携带的地址标识对发起投票的移动终端作出应答,如应答投票成功或投票失败等消息,所述投票子系统优选处理本区的投票请求,实现用户请求的及时应答。

请继续参考图2,所述数据中心系统包括数据中心及投票结果管理系统。所述数据中心储存有各投票子系统的最新投票数据sd1以及历史投票数据sd2。所述最新投票数据sd1以及历史投票数据sd2提供所述投票结果管理系统处理投票结果的数据来源。

s13、所述数据中心系统根据所述投票子系统的所述投票数据,统计投票数据。

本发明所述实施例中,所述数据中心系统根据所述投票子系统的所述投票数据,统计投票数据,具体通过以下两个步骤实现:

所述数据中心接收投票子系统的投票数据;

所述投票结果管理系统监测投票子系统的投票数据;当投票子系统的最新投票数据大于该投票子系统的历史投票数据,根据所述最新投票数据与所述历史投票数据的差值更新投票数据,统计该投票数据;把投票子系统的最新投票数据作为该投票子系统的历史投票数据。

所述投票结果管理系统实时统计并汇总各投票子系统中所述投票数据增量,并依据所述增量更新当前被投票对象的投票总数中,并且所述投票结果管理系统依据当前统计的投票总数分析当前被投票对象的排行信息,并将所述排行信息更新至当前被投票对象的投票结果中。

所述投票结果管理系统将所述最新投票数据与所述历史投票数据的差值更新至当前被投票对象的投票结果的同时,也更新所述投票子系统中的最新投票数据与所述历史投票数据一致。

参考图3所示,本发明的另一实施例中,还包括一个步骤s14用于将所述被投票对象的投票结果依据所述分区号反馈至投票终端。

所述投票结果管理系统对各投票子系统的数据处理并汇总之后得出最终的投票总数,并依据该投票总数分析被投票对象的排行信息,最终整合出该投票对象的投票结果。所述投票结果管理系统依据所述分区号将所述投票结果反馈至发起投票的移动终端,具体可以通过发送通知消息或广播的方式,也可以为其他方式,在此不做限定。

一种可能的设计中,所述投票子系统接收到所述投票请求之后,储存所述投票请求中携带的地址标识。所述投票结果管理系统统计完投票结果时依据所述分区号将所述投票结果反馈至各投票子系统,各投票子系统依据预存的所述地址标识将所述投票结果反馈至移动终端。

本发明实施例中,所述投票结果管理系统在反馈投票结果时,由于距离远或同时处理的数据多,可能产生严重的丢包现象,通过分区号的建立,所述投票结果管理系统首先根据分区号将投票结果反馈至各投票子系统,再由各投票子系统将所述投票结果反馈至各移动终端,以实现将投票结果精准的反馈到各移动终端,降低所述投票结果管理系统在反馈投票结果过程中产生的丢包率,并且通过分区的方式便于对移动终端、投票子系统、投票结果进行管理。

请参考图4所示,图4为本发明所述统计投票数据装置的一种应用实施例流程图。图中示出本装置中各系统执行各步骤的流程图。由图看出,用户a发起投票请求,所述用户分区系统接收所述投票请求后,根据该投票请求获取用户所在的投票分区并确定对应的分区号,所述用户分区系统将所述分区号以及投票请求对应的投票数据写入接收的投票请求中并将处理后的投票请求转发至本区的投票子系统,所述投票子系统接收投票请求,并根据该投票请求更新本区的投票数据之后将更新之后的投票数据通过mysql主从结构同步到数据中心系统,所述数据中心系统的投票结果管理系统实时对接收的投票数据进行监测并处理,汇总各投票子系统的投票数据,得出最终被投票对象的投票结果,将该结果通过对应的分区号反馈至各移动终端。

参考图5所示,本发明还提供一种统计投票数据装置,一种实施例中,包括用户分区系统11、投票子系统12、数据中心系统13。其中,

用户分区系统11:用户分区系统接收移动终端发送的携带地址标识的投票请求,根据所述地址标识,将所述投票请求发送至与所述地址标识对应的投票子系统。

本发明实施例中,所述地址标识包括地理位置标识和/或ip地址。本发明实施例中,所述用户分区系统依据地理位置标识,确定所述地理位置标识所在区域对应的投票子系统,将所述投票请求发送至所述投票子系统。

当所述地址标识为地理位置标识时,所述用户分区系统根据所述地理位置标识查询距离该地理位置标识对应的区域最近的投票子系统,并将接收到的投票请求转发至该投票子系统。当所述地理位置标识为ip地址时,所述用户分区系统根据所述ip地址查询与该ip地址对应的地理位置附近的投票子系统,并将所述投票请求转发给该投票子系统。

本发明实施例中,所述根据所述地址标识,将所述投票请求发送至与所述地址标识对应的投票子系统,具体还包括:

为移动终端分配地址标识对应的分区号,将所述投票请求发送至与分区号对应的投票子系统。

一种可能的设计中,所述用户分区系统将所述投票请求直接转发给对应的投票子系统,或者所述用户分区系统将所述投票请求进行处理,例如在所述投票请求后加一个地理位置或表征该地理位置所在区域的分区号对应的字段之后,将处理后的投票请求转发至对应的投票子系统。

请参考图2,图2为本发明所述一种投票系统的实现方法的结构框图。图中示出,所述投票系统包括用户分区系统、投票子系统、数据中心以及投票结果管理系统。所述用户分区系统将接收到的投票请求人发送的投票请求后将其转发至对应的投票子系统并为其分配对应的分区号。图2中示出,三个投票子系统分别是投票子系统suba、subb、subc对应的分区号分别为分区a、分区b、分区c。

投票子系统12:所述投票子系统接收所述投票请求,将所述投票请求对应的投票数据同步到数据中心系统。

本发明实施例中,通过mysql主从结构,将所述投票请求对应的投票数据同步到数据中心系统。

各所述投票子系统维护本分区号对应的分区的投票数据,所述投票子系统接收所述投票请求,依据最新投票数据与历史投票数据的增量,更新本分区号对应的投票数据,并通过mysql主从结构,同步到数据中心系统。所述投票子系统中的投票数据包括该子系统的历史投票数据以及最新投票数据。

本发明实施例中,所述投票子系统监测接收的投票数据;当投票子系统的最新投票数据大于该投票子系统的历史投票数据,根据所述最新投票数据与所述历史投票数据的差值更新该投票子系统的投票数据。

一种可能的设计中,所述投票子系统接收所述投票请求,将所述投票请求对应的投票数据同步到数据中心系统,具体通过以下方式实现:

所述投票子系统实时监测接收的投票数据;当投票子系统的最新投票数据大于该投票子系统的历史投票数据,根据所述最新投票数据与所述历史投票数据的差值更新该投票子系统的投票数据,并将更新之后的投票数据同步到数据中心系统。

优选的,所述投票子系统依据所述分区号应答所述投票请求所述投票子系统收到所述投票请求之后,依据所述地址标识对发起投票的移动终端作出应答,如应答投票成功或投票失败等消息,所述投票子系统优选处理本区的投票请求,实现用户请求的及时应答。

请继续参考图2,所述数据中心系统包括数据中心及投票结果管理系统。所述数据中心储存有各投票子系统的最新投票数据sd1以及历史投票数据sd2。所述最新投票数据sd1以及历史投票数据sd2提供所述投票结果管理系统处理投票结果的数据来源。

数据中心系统13:所述数据中心系统根据所述投票子系统的所述投票数据,统计投票结果。

本发明所述实施例中,所述数据中心接收投票子系统的投票数据,所述投票结果管理系统监测投票子系统的投票数据;当投票子系统的最新投票数据大于该投票子系统的历史投票数据,根据所述最新投票数据与所述历史投票数据的差值更新投票数据,统计该投票数据;把投票子系统的最新投票数据作为该投票子系统的历史投票数据。

所述投票结果管理系统实时统计并汇总各投票子系统中所述投票数据增量,并依据所述增量更新当前被投票对象的投票总数中,并且所述投票结果管理系统依据当前统计的投票总数分析当前被投票对象的排行信息,并将所述排行信息更新至当前被投票对象的投票结果中。

所述投票结果管理系统将所述最新投票数据与所述历史投票数据的差值更新至当前被投票对象的投票结果的同时,也更新所述投票子系统中的最新投票数据与所述历史投票数据一致。

本发明实施例中,所述投票管理系统将统计投票数据得到的投票总数及排行信息,根据所述分区号反馈至移动终端。

所述投票结果管理系统对各投票子系统的数据处理并汇总之后得出最终的投票总数,并依据该投票总数分析被投票对象的排行信息,最终整合出该投票对象的投票结果。所述投票结果管理系统依据所述分区号将所述投票结果反馈至发起投票的移动终端,具体可以通过发送通知消息或广播的方式,也可以为其他方式,在此不做限定。

一种可能的设计中,所述投票子系统接收到所述投票请求之后,储存所述投票请求中携带的地址标识。所述投票结果管理系统统计完投票结果时依据所述分区号将所述投票结果反馈至各投票子系统,各投票子系统依据预存的所述地址标识将所述投票结果反馈至移动终端。

本发明实施例中,所述投票结果管理系统在反馈投票结果时,由于距离远或同时处理的数据多,可能产生严重的丢包现象,通过分区号的建立,所述投票结果管理系统首先根据分区号将投票结果反馈至各投票子系统,再由各投票子系统将所述投票结果反馈至各移动终端,以实现将投票结果精准的反馈到各移动终端,降低所述投票结果管理系统在反馈投票结果过程中产生的丢包率,并且通过分区的方式便于对移动终端、投票子系统、投票结果进行管理。

结合上述的实施例可知,本发明最大的有益效果在于,本发明通过将投票系统划分成很多投票子系统,通过各投票子系统处理本区的数据,并返回应答消息,降低了rtt,较少数据冲突,避免高rtt导致的投票数据丢失,提高投票数据发送可靠性。另一方面,本发明所述一种统计投票数据的方法不需要使用光纤,采用分布式的子系统分担了数据处理压力,降低成本的同时提高数据处理效率。

通过mysql主从结构,在投票子系统和数据中心数据同步,分布式的子系统分担了各区的压力,投票系统处理压力降低,跨区交互数据减少,数据并发能力增强,有效防止了数据冲突。另外,由于跨区交互数据减少,所以数据传输过程中产生的丢包率也减少,数据的可靠性得到提高。

本发明解决了现有技术中,跨地域交互数据频繁,成本高,数据可靠性降低,rtt高的问题,通过监测各投票子系统中的最新数据与历史数据的差值,并依据该差值更新最终的投票结果,增强了本方案的灵活性,最新数据和历史数据的设计提高了系统可靠性,本发明所述一种统计投票数据的方法在较低成本的基础上实现了高效的全球投票,降低了公司运营成本,提升用户体验感。

本领域普通技术人员可以理解上述实施例的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上对本发明所提供的一种移动终端进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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