一种抢购活动状态更新方法及系统与流程

文档序号:19683512发布日期:2020-01-14 17:43阅读:307来源:国知局
一种抢购活动状态更新方法及系统与流程
本申请涉及虚拟物品交易
技术领域
,尤其涉及一种抢购活动状态更新方法及系统。
背景技术
:抢购活动是在特定的时间段内,以优惠的价格购买或卖出特定商品的销售活动,例如数字资产抢购,或者数字资产出售。对于虚拟物品交易,尤其是数字资产交易,在一些数字资产交易平台中,会出现一个时间段内有多个抢购活动同时进行,且不同抢购活动所处的状态也可能不同,需要交易平台在交易页面,对抢购活动所处的状态进行实时更新和展示,以便交易双方获得所处的状态。如果每次数字资产抢购活动被划分为四个状态:即将开始状态、活动中状态、活动结束状态以及二级市场交易状态,则每个活动都会包含三个时间点:活动开始时间、活动结束时间、活动交易时间。其中,即将开始状态是指当前的时间还没有到达活动开始时间;活动中状态是指当前时间位于活动开始时间和活动结束时间之间;活动结束状态是指当前时间位于活动结束时间和活动交易时间之间;二级市场交易状态是指当前时间大于活动交易时间。为了在整个活动过程中,能够在到达指定的时间点时,给予用户所对应的活动状态展示,让用户很直观的知道活动所处的状态。现有技术中可以通过在购物平台上展示各销售商品的销售状态,并且在销售商品的销售状态为抢购进行中或即将开场时,设置倒计时,以实时显示销售商品的抢购剩余时间,或当前时间距开场时间的时间差。然而这种展示方式仅适用于寄托在购物平台上的商品销售,对于虚拟物品,其交易过程涉及多个购买方和多个售卖方,而抢购活动由售卖方发起,即随时可能进行多个抢购活动,使得交易平台无法展示相应的状态,即现有的技术方案中,不支持多个抢购活动的状态更新和展示功能。技术实现要素:本申请提供了一种抢购活动状态更新方法及系统,以解决传统方法不支持多个抢购活动的状态更新和展示功能的问题。一方面,本申请提供一种抢购活动状态更新方法,包括:通过服务端的交易接口获取所有交易对数据,以及通过所述服务端的活动接口获取活动信息;所述活动信息包括以下时间节点:当前时间、活动开始时间、活动结束时间以及活动交易时间;遍历每个活动信息中的时间节点,生成有序时间节点集合;对所述有序时间节点集合中,每个活动对应的时间节点进行差值运算,获得每个活动对应的最大时间差值;根据所述最大时间差值启动倒计时,以更新每个活动的活动状态。可选的,所述交易对数据包括交易标识码和标签属性;通过服务端的交易接口获取所有交易对数据,以及通过所述服务端的活动接口获取活动信息的步骤,包括:根据所述交易对数据生成交易对列表;根据所述标签属性遍历所述交易对列表,提取活动交易;所述活动交易为所述交易对数据中,所述标签属性包含活动标签的交易;通过所述服务端的活动接口,获取每个所述活动交易对应的活动信息。可选的,所述方法还包括:根据所述交易标识码和标签属性,确定所述交易对数据中每个交易隶属的活动;将隶属于同一个活动的交易确定为相同的活动交易进行一次提取。可选的,遍历每个活动信息中的时间节点,生成有序时间节点集合的步骤,包括:遍历每个活动信息中的时间节点,以集合数据的方式存储为时间节点集合;按照时间先后的顺序对所述当前时间、活动开始时间、活动结束时间以及活动交易时间进行排序处理,生成有序时间节点集合。可选的,遍历每个活动信息中的时间节点,生成有序时间节点集合的步骤,包括:比较所述当前时间与所述活动开始时间、活动结束时间以及活动交易时间之间的先后顺序;根据先后顺序的比较结果,向所述有序时间节点集合中添加时间节点差值。可选的,根据先后顺序的比较结果,向所述有序时间节点集合中添加时间节点差值的步骤,包括:如果所述当前时间先于所述活动开始时间,将所述当前时间与活动开始时间的时间差添加至所述有序时间节点集合;如果所述当前时间晚于所述活动开始时间,且所述当前时间先于所述活动结束时间,将所述当前时间与活动结束时间的时间差添加至所述有序时间节点集合;如果所述当前时间晚于所述活动结束时间,且所述当前时间先于所述活动交易时间,将所述当前时间与活动交易时间的时间差添加至所述有序时间节点集合。可选的,根据相互顺序的比较结果,向所述有序时间节点集合中添加时间节点差值的步骤,包括:如果所述当前时间晚于所述活动交易时间,不向所述有序时间节点集合中添加时间节点。可选的,根据所述最大时间差值启动倒计时,以更新每个活动的活动状态的步骤,包括:以所述最大时间差值作为总倒计时次数,分别启用每个活动的计数器;按照预设计数时长更改所述计数器的计数;如果所述计数器的计数与所述有序时间节点集合中任一活动状态对应的时间节点相同,更改对应活动的活动状态。可选的,更改对应活动的活动状态的步骤后,所述方法还包括:重新从所述服务端获取所有交易对数据。另一方面,本申请还提供一种抢购活动状态更新系统,包括相互建立数据连接的交易平台、服务端以及交易终端;其中,多个所述交易终端通过所述交易平台完成交易,生成交易对数据并存储在所述服务端;多个所述交易可自定义抢购活动,以及在购活动期间生成活动信息并存储在所述服务端;所述服务端设有交易接口和活动接口,分别用于提取交易对数据和活动信息;所述交易平台被进一步配置为执行以下程序步骤:通过服务端的交易接口获取所有交易对数据,以及通过所述服务端的活动接口获取活动信息;所述活动信息包括以下时间节点:当前时间、活动开始时间、活动结束时间以及活动交易时间;遍历每个活动信息中的时间节点,生成有序时间节点集合;对所述有序时间节点集合中,每个活动对应的时间节点进行差值运算,获得每个活动对应的最大时间差值;根据所述最大时间差值启动倒计时,以更新每个活动的活动状态。由以上技术方案可知,本申请提供一种抢购活动状态更新方法及系统,所述方法先通过获取所有交易对数据以及活动信息;再通过遍历每个活动信息中的时间节点,生成有序时间节点集合;再对有序时间节点集合中,每个活动对应的时间节点进行差值运算,获得每个活动对应的最大时间差值;最后根据最大时间差值启动倒计时,以更新每个活动的活动状态。所述方法可以根据交易对数据快速确定活动信息中的时间节点,以更新活动状态,所述方法不依赖于交易终端向交易平台上报活动信息,使得交易平台能够自动获知每个活动的状态和信息,从而实现对多个抢购活动的活动状态进行更新和展示。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请一种抢购活动状态更新方法的流程示意图;图2为本申请获取活动信息的流程示意图;图3为本申请提取活动信息的流程示意图;图4为本申请生成有序时间节点集合的流程示意图;图5为本申请向有序时间节点集合添加时间节点差值的流程示意图;图6为本申请根据最大时间差值启动倒计时的流程示意图;图7为本申请一种抢购活动状态更新系统的结构示意图。具体实施方式下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。本申请提供的技术方案中,所述交易平台是指根据实际交易过程,构建的数字资产交易的“场所”,例如能够提供数据交互功能的网页、客户端界面等。显然,所述交易平台是能够运行在计算机等数据处理设备中的应用程序,即一种第三方网络平台。实际应用中,交易双方可以在交易平台上完成数字资产交易,完成交易的同时,可以产生交易对数据,并将交易对数据发送给服务端,以便服务端对交易对数据进行存储。因此,服务端可以作为交易平台的后台应用硬件,即交易平台的服务器。所述抢购活动是由参与交易平台上的任一交易终端(即出售方)设定并发起的,具有指定活动时间和规则的促销活动,抢购活动可以出售方发起后,在交易平台上进行展示。例如,作为出售方的交易终端a可以发起一个抢购活动,用于以优惠的价格出售数字资产ma,抢购活动持续时间30min,因此交易平台可以对其抢购活动的信息进行展示,可以在交易页面展示显示活动信息并附带相关描述性的文字或图案,例如:“超低价格出售ma,仅限半小时”。更进一步的,为了便于作为购买方的交易终端获得活动详情,还可以在展示活动信息的同时,展示活动各阶段的剩余时间,例如“超低价格出售ma,活动还有0h:12m:30s结束”。可见针对不同的活动,交易平台需要获得对应的活动信息,才能将活动信息进行展示。但由于抢购活动是由作为出售方的交易终端发起,作为交易平台,连接的交易终端数量可能有多个,甚至数量是极其庞大的,因此,活动信息不能及时传递到交易平台,使交易平台无法展示多个活动对应的活动信息。为了在交易平台上更新及展示活动状态,本申请提供一种抢购活动状态更新方法应用于交易平台。参见图1,为本申请一种抢购活动状态更新方法的流程示意图。由图1可知,本申请提供的抢购活动状态更新方法包括以下步骤:s1:通过服务端的交易接口获取所有交易对数据,以及通过所述服务端的活动接口获取活动信息。本申请提供的技术方案中,当交易双方完成一次交易后,交易平台可以根据交易内容生成一份交易对数据,并将交易对数据存储在服务端。服务端可以包括交易接口,用来后续调用交易对数据。如果一次交易是在抢购活动期间完成,交易的内容中还可以涉及到活动相关的信息,本申请申请中可以将交易对数据对应的活动信息单独存储在服务端。相应的,服务端还可以包括活动接口,用于后续调用活动信息。需要说明的是,在本申请提供的技术方案中,所述交易对数据可以是多个交易对应生成的数据集合,通过获取交易对数据,可以准确追踪每一个交易。所述活动信息可以包含多个抢购活动的信息,以通过活动信息获取每一次活动的主要内容。本申请中,所述活动信息包括以下时间节点:当前时间、活动开始时间、活动结束时间以及活动交易时间。例如,每个活动信息primeactivitybean都包含currenttime、begintime、endtime、opentradetime属性。currenttime为当前时间,begintime为活动开始时间,endtime为活动结束时间,opentradetime为活动交易时间。对于交易平台,实际应用中会产生大量的交易对数据,这些交易对数据有大部分是在非抢购活动时间段完成的,这些交易对数据并没有对应的活动信息。因此,在本申请中,不需要对非抢购活动时间段完成交易的数据进行处理,以减少数据分析量。进一步地,所述交易对数据还包括交易标识码和标签属性。为了便于后续对活动状态的更新,如图2所示,通过服务端的交易接口获取所有交易对数据,以及通过所述服务端的活动接口获取活动信息的步骤还包括以下步骤:s101:根据所述交易对数据生成交易对列表。实际应用中,可以把交易对数据用集合存储为一个交易对列表,以便后续筛选出是在抢购活动期间完成的交易对数据。例如,服务端的交易接口会把一个数字资产交易所中的所有交易进行调用,以共分析或将交易对数据(symbolbean)返回给前端交易双方的交易终端中。在获取到交易对数据后,可以把交易对数据用集合存储为交易对列表,如list<symbolbean>。其中,每个交易对数据都包含交易标识码(symbolcode)和标签属性(tags属性)。标签属性用于表征对应的交易对数据是否是在抢购活动期间完成的,可以通过具体的值对交易对数据进行表征。例如,tags属性如果包含primecloud值(活动标签),说明该交易对可能会有活动信息。即:s102:根据所述标签属性遍历所述交易对列表,提取活动交易。实际应用中,所述活动交易为所述交易对数据中,所述标签属性包含活动标签的交易。在本申请提供的技术方案中,可以针对标签属性对交易对列表中的数据进行筛选,如果所述标签属性为活动标签,则对应的交易对数据是在活动期间完成的交易,即具有对应的活动信息,因此可以将标签属性为活动标签的交易确定为活动交易。s103:通过所述服务端的活动接口,获取每个所述活动交易对应的活动信息。在将交易对列表中的交易确定为活动交易后,可以通过服务端的活动接口提取活动交易对应的活动信息,实际应用中,仅需要提取确定为活动交易对应的活动信息,相对于每一个交易对数据都进行提的方式能够大大减少数据的匹配量,以便能够快速提取到活动信息,避免交易平台或服务端从事大量无结果的数据匹配。例如,遍历交易对列表list<symbolbean>中的所有tags标签,提取包含primecloud的交易对确定为活动交易。然后通过服务器提供的活动接口,得到所有活动交易的活动信息数据。实际应用中为了后续提取的方便,还可以将得到的活动信息数据用集合存储为活动列表,即list<primeactivitybean>。实际应用中,由于一个活动信息可以对应多个交易,即多笔交易均是在一次抢购活动期间完成的;而一个交易仅对应一个交易信息,即一笔交易仅能够发生在一次抢购活动中。进一步地,如图3所示,为了避免重复的活动信息,所述方法还包括以下步骤:s104:根据所述交易标识码和标签属性,确定所述交易对数据中每个交易隶属的活动。实际应用中,交易标识码用来区分不同的交易,可以是唯一的标识字符串,如订单号等。标签属性中包含活动标签和非活动标签,其中活动标签中还可以进一步包括当前交易对数据隶属于哪一个活动,即活动标签中可以包含表征每个活动的识别信息,例如活动名称文本、活动时间、活动组织者识别信息等。通过对活动标签中识别信息的判断,可以将多个交易对数据的活动信息进行融合,以避免交易平台多次对同一个活动信息进行分析,减少数据处理量。s105:将隶属于同一个活动的交易确定为相同的活动交易进行一次提取。在对交易对数据中各交易所隶属的活动进行判断后,可以将隶属于同一个活动的交易确定为相同的活动交易,而对于同一个活动交易,只需进行一次提取,即可获得对应活动的信息。s2:遍历每个活动信息中的时间节点,生成有序时间节点集合。在获取活动信息后,可以对活动信息中包含的时间节点进行数据提取,即在活动信息中提取出每个活动对应的活动开始时间、活动结束时间以及活动交易时间。同时,还可以对当前时间进行提取,以生成有序时间节点集合,供后续进行分析。进一步地,如图4所示,遍历每个活动信息中的时间节点,生成有序时间节点集合的步骤,包括:s211:遍历每个活动信息中的时间节点,以集合数据的方式存储为时间节点集合。在得到所有的活动信息列表list<primeactivitybean>之后,遍历每个活动所对应的四个时间节点属性,并且用集合数据存储为一个时间节点集合。s212:按照时间先后的顺序对所述当前时间、活动开始时间、活动结束时间以及活动交易时间进行排序处理,生成有序时间节点集合。可以按照时间先后的顺序对当前时间、活动开始时间、活动结束时间以及活动交易时间进行排序处理,以便对所有的时间节点数据进行过滤、排序处理,最终形成一个有序时间节点集合list<long>。在本申请的部分实施例中,如图5所示,遍历每个活动信息中的时间节点,生成有序时间节点集合的步骤,还包括:s221:比较所述当前时间与所述活动开始时间、活动结束时间以及活动交易时间之间的先后顺序。s222:根据先后顺序的比较结果,向所述有序时间节点集合中添加时间节点差值。例如,遍历活动列表list<primeactivitybean>,添加相对应的时间节点到时间节点数据集合(timelist),数据类型为list<long>。添加的时候判断当前时间和开始时间、结束时间、活动交易时间。进一步地,根据先后顺序的比较结果,向所述有序时间节点集合中添加时间节点差值的步骤,还包括:s2221:如果所述当前时间先于所述活动开始时间,将所述当前时间与活动开始时间的时间差添加至所述有序时间节点集合。实际应用中,如果当前时间早于活动开始时间,则表示当前时间内所对应的活动状态为即将开始,可以把当前时间和活动开始时间的时间差添加到时间节点数据集合中。s2222:如果所述当前时间晚于所述活动开始时间,且所述当前时间先于所述活动结束时间,将所述当前时间与活动结束时间的时间差添加至所述有序时间节点集合。根据实际提取的数据,如果当前时间大于活动开始时间并且小于活动结束时间,即活动已经开始且没有结束,则对应的活动状态为活动中,把当前时间和活动结束时间的时间差值添加到时间节点数据集合中。s2223:如果所述当前时间晚于所述活动结束时间,且所述当前时间先于所述活动交易时间,将所述当前时间与活动交易时间的时间差添加至所述有序时间节点集合。根据实际提取的数据,如果当前时间大于活动结束时间并且小于活动交易时间,即对应的活动已经结束,相应的活动状态为活动结束,可以把当前时间和活动交易时间的差值添加到时间节点数据集合中。s2224:如果所述当前时间晚于所述活动交易时间,不向所述有序时间节点集合中添加时间节点。根据实际提取的数据,如果当前时间大于活动交易时间,活动状态为二级市场交易状态,相应的活动状态信息没有参考价值,则不添加时间点。s3:对所述有序时间节点集合中,每个活动对应的时间节点进行差值运算,获得每个活动对应的最大时间差值。在生成有序时间节点集合后,可以对有序时间节点集合中的数据进行差值运算,即分别对开始时间、结束时间、活动交易时间与当前当前时间进行差值计算。获取差值后,获取每个活动对应的最大时间差值,以根据最大时间差值进行倒计时。例如,从活动列表提取两个活动交易,即活动a和活动b,对应的活动时间节点分别为:当前时间a1和b1,活动开始时间a2和b2,活动结束时间a3和b3,二级市场交易时间a4和b4,形成时间节点集合如下:时间节点值时间差值a115692040002019-09-2310:00:00-a215692046002019-09-2310:10:00600a315692052002019-09-2310:20:001200a415692058002019-09-2310:30:001800b115692040002019-09-2310:00:00-b215692064002019-09-2310:40:002400b315692070002019-09-2310:50:003000b415692076002019-09-2311:00:003600根据上述时间节点集合,可以从时间节点集合中提取活动a和活动b的最大差值分别为a4和b4,以及提取相应的差值1800和3600。此时,可以在交易平台的界面上展示活动未开始的活动状态信息,例如包含提示文字“抢购活动即将在0h:10min:0s后开始”。s4:根据所述最大时间差值启动倒计时,以更新每个活动的活动状态。实际应用中,可以使用倒计时对活动状态进行更新,进一步地,如图6所示,根据所述最大时间差值启动倒计时,以更新每个活动的活动状态的步骤,包括:s401:以所述最大时间差值作为总倒计时次数,分别启用每个活动的计数器。通过最大时间差值可以确定总倒计时次数,从而启动每个活动对应的计数器的初始次数。例如,活动a的最大时间差值为1800,则启动的计数器初始次数为1800。s402:按照预设计数时长更改所述计数器的计数。实际应用中,可以根据预设刷新频率或展示界面的可视化需求,预设不同的计数时长。计数器可以按照预设计数时长更改计数,例如,预设计数时长为1s,则活动a的计数器以1s为计数频率,对初始次数进行更改。即,每过1s的时间,计数器的次数就从1800依次减1。s403:如果所述计数器的计数与所述有序时间节点集合中任一活动状态对应的时间节点相同,更改对应活动的活动状态。随着计数次数的不断更改,当计数器的计数与活动中任一状态对应的时间节点相同时,可以修改对应的活动状态以展示新的活动状态。例如,在活动a倒计时600s后,计数器的次数等于1200,则表示当前时间已到达活动开始时间,此时,可以将对应的展示状态更改为活动中,相应展示的画面可以包括如下文字“抢购活动已开始,距离结束还有0h:10min:0s”。本实施例中,可以使用倒计时对活动状态更新。通过提取出中最大时间差值,作为倒计时的总共倒计次数。如果计数器和timelist集合中任何一个值相等,则说明到达其中某个活动的一个状态,以实现对活动状态的不断更新。进一步地,为了防止服务端更改活动的数据,可以从服务端重新更新一下数据,即在更改对应活动的活动状态的步骤后,所述方法还包括:s404:重新从所述服务端获取所有交易对数据。通过对交易对数据的实时提取,可以避免由于计数器的误差或者交易出售方的临时更改而造成活动状态的更新错误。由以上技术方案可知,本申请提供一种抢购活动状态更新方法及系统,所述方法先通过获取所有交易对数据以及活动信息;再通过遍历每个活动信息中的时间节点,生成有序时间节点集合;再对有序时间节点集合中,每个活动对应的时间节点进行差值运算,获得每个活动对应的最大时间差值;最后根据最大时间差值启动倒计时,以更新每个活动的活动状态。所述方法可以根据交易对数据快速确定活动信息中的时间节点,以更新活动状态,所述方法不依赖于交易终端向交易平台上报活动信息,使得交易平台能够自动获知每个活动的状态和信息,从而实现对多个抢购活动的活动状态进行更新和展示。基于上述抢购活动状态更新方法,如图7所示,本申请还提供一种抢购活动状态更新系统,包括相互建立数据连接的交易平台、服务端以及交易终端。其中,交易终端是指交易双方所使用的设备,例如计算机、服务器、平板电脑、手机等具有数据处理和页面展示功能的设备。交易平台是能够在交易终端上运行,并展示交易信息和交互界面的软件程序,例如网页、客户端页面等。服务端由交易平台的运营方提供,可以为设置在云端的服务器或者设置在指定交易地点的数据库。实际应用中,多个交易终端可以被划分为出售方和购买方,出售方可以根据实际需要设置抢购活动,购买方可以根据实际需求从出售方获取数字资产。多个所述交易终端通过所述交易平台完成交易,生成交易对数据并存储在所述服务端。多个所述交易可自定义抢购活动,以及在购活动期间生成活动信息并存储在所述服务端。所述服务端设有交易接口和活动接口,分别用于提取交易对数据和活动信息。所述交易平台被进一步配置为执行以下程序步骤:s1:通过服务端的交易接口获取所有交易对数据,以及通过所述服务端的活动接口获取活动信息;所述活动信息包括以下时间节点:当前时间、活动开始时间、活动结束时间以及活动交易时间;s2:遍历每个活动信息中的时间节点,生成有序时间节点集合;s3:对所述有序时间节点集合中,每个活动对应的时间节点进行差值运算,获得每个活动对应的最大时间差值;s4:根据所述最大时间差值启动倒计时,以更新每个活动的活动状态。实际应用中,随着购买方和出售方不断完成交易,交易平台可以产生大量的交易对数据,存储在服务端。当需要进行活动状态更新时,交易平台可以通过服务端的交易接口获取所有交易对数据,以及通过所述服务端的活动接口获取活动信息。再通过遍历每个活动信息中的时间节点,生成有序时间节点集合,以及对有序时间节点集合中,每个活动对应的时间节点进行差值运算,获得每个活动对应的最大时间差值。最后根据所述最大时间差值启动倒计时,以更新每个活动的活动状态。可见,整个活动状态更新过程以交易对数据和活动信息为基准,并不需出售方的交易终端向交易平台实时更新活动数据,从而使得交易平台能够及时获知所有活动的信息和状态,从而可以对多个活动的状态进行更新和展示,解决传统方法不支持多个抢购活动的状态更新和展示功能的问题。本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1