[发明专利]事件处理方法、服务器及计算机存储介质在审
申请号: | 202010190711.5 | 申请日: | 2020-03-18 |
公开(公告)号: | CN111367694A | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 艾国信;宋超 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F16/22;G06F16/28 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静;黄灿 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事件 处理 方法 服务器 计算机 存储 介质 | ||
本发明实施例提供了一种事件处理方法、服务器及计算机存储介质,通过实体标识和序列号共同标识事件的唯一性,对实体标识和序列号均相同的事件严格按照顺序执行,保证在同一时间,仅存在单线程对同一个实体对象进行处理,避免同一实体对象数据被重复修改,或者同一实体对象状态被重复变更,使得服务器事件处理的业务逻辑更加清晰,同时也降低了服务器因重复处理而产生的不必要的资源消耗,提高了服务器事件处理的效率和正确率。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种事件处理方法、服务器及计算机存储介质。
背景技术
在合同中台系统中,用户的每次操作请求,服务器都会转化成事件形式进行处理。响应于用户的不同操作请求,服务器对不同事件进行处理时,将会涉及到数据的查询、修改或者状态变更等。由于客户端快速操作或者网络通信响应延迟等原因,可能导致服务器接收到多个相同的并发事件,由于服务器的高并发性,服务器将会对上述多个相同的并发事件重复处理,从而导致对实体数据的重复修改,针对交易系统、支付系统等后果尤其严重。
可见,现有技术中存在对同一实体的并发事件进行重复处理的问题。
发明内容
本发明实施例的目的在于提供一种事件处理方法、服务器及计算机存储介质,以实现在同一时刻仅单线程对同一实体进行处理。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种事件处理方法,包括:
在同时接收到N个事件的情况下,生成所述N个事件的序列号,所述N个事件的序列号相同;
在所述N个事件中包括实体标识相同的M个事件的情况下,向MySQL数据表中插入目标事件对应的MySQL记录;
在所述目标事件的MySQL记录插入成功的情况下,对所述目标事件进行处理,并过滤M-1个事件;
其中,所述目标事件为所述M个事件中的一个事件,在向MySQL数据表中插入目标事件对应的MySQL记录时,所述M-1个事件处于等待插入记录的状态,N为大于1的整数;M为大于1,且小于或等于N的整数。
在本发明实施的第二方面,还提供了一种服务器,包括:
生成模块,用于在同时接收到N个事件的情况下,生成所述N个事件的序列号,所述N个事件的序列号相同;
插入模块,用于在所述N个事件中包括实体标识相同的M个事件的情况下,向MySQL数据表中插入目标事件对应的MySQL记录;
处理模块,用于在所述目标事件的MySQL记录插入成功的情况下,对所述目标事件进行处理,并过滤M-1个事件;
其中,所述目标事件为所述M个事件中的一个事件,在向MySQL数据表中插入目标事件对应的MySQL记录时,所述M-1个事件处于等待插入记录的状态,N为大于1的整数;M为大于1,且小于或等于N的整数。
在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本发明实施例第一方面中所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的事件处理方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的事件处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010190711.5/2.html,转载请声明来源钻瓜专利网。