[发明专利]用户请求的生成、处理方法、装置、系统及电子设备在审
| 申请号: | 201611052960.8 | 申请日: | 2016-11-24 |
| 公开(公告)号: | CN108108231A | 公开(公告)日: | 2018-06-01 |
| 发明(设计)人: | 张振宇 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/48 |
| 代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李红爽;栗若木 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用户请求 电子设备 唯一标识 状态设置 未处理 处理状态 队列 查找 携带 保存 申请 | ||
一种用户请求的生成、处理方法、装置、系统及电子设备;所述用户请求的处理方法包括:根据用户的操作生成用户请求,在用户请求中携带该用户请求的唯一标识及前序标识;保存所述用户请求,将所述用户请求的状态设置成未处理;其中,所述前序标识是根据所述用户的上一次操作生成的用户请求的唯一标识;查找并处理状态是未处理、且前序标识所对应的用户请求的状态是已处理的用户请求;处理完成后将所处理的用户请求的状态设置成已处理。本申请能够不依赖队列实现用户请求的处理顺序与生成顺序相同。
技术领域
本发明涉及计算机网络领域,尤其涉及一种用户请求的生成、处理方法、装置、系统及电子设备。
背景技术
一个面向用户的系统中,在最接近客户端的位置一般会有一个请求接入服务器,用来接收用户发起的操作,将用户的各种操作生成请求,即系统能够识别的数据结构,然后将这样的请求发往后端系统处理。而后端系统一般都是以集群为单位的、上规模的、分布式部署的,每个请求需要通过不同网络路径,最终到达真正处理它的服务器。由于系统比较庞大,入口很多,参与的节点很多,并且网络架构复杂,因此每个请求到达处理服务器的网络时延没法保证,有可能会导致了前后发起的两个请求在经过网络到达处理服务器时,先后的顺序就错乱掉了。
比如假设用户先后发起A0、A1两个请求,当用户这两个请求到达真正处理它的服务器时,处理顺序可能会变为请求A1在先,请求A0在后。当请求A0和请求A1之间不满足交换律,在业务上有先后一致性要求时,先处理请求A1、后处理请求A0这种处理顺序就是错误的,会导致严重的问题。
目前,为了保证处理顺序,一般是采用先进先出(First Input First Output,FIFO)的策略,即分布式系统中通过网络时间协议(Network Time Protocol,NTP)同步时钟,所有的请求在接到的那一刻就打上一个时间戳,然后将请求发到一个队列中,然后再从这个队列中依照FIFO的顺序进行消费。
该做法的缺陷包括:
(1)请求到达队列的顺序不一定是请求产生的顺序,因此到请求处理节点的顺序也不一定是请求产生的顺序。
(2)如果在队列中对每个新加入的请求按照其打上的时间戳进行排序,则每加入一个请求的时间复杂度是O(n),而不是O(1),时间开销巨大。其中,O(n)是指n很大的时候复杂度约等于Cn,C是某个常数;O(1)是指n很大的时候,复杂度基本就不增长了,基本就是常量C;n是变量的个数。
(3)请求处理方必须只能有一个线程去主动的拉取(pull)请求进行处理,如果有多个线程同时去取数据或者通过推送(push)的方式去发送请求,则无法确保请求到达处理节点的顺序和请求进入队列的顺序一致。所以只能有一个线程去用pull的方式去取数据,然而这样会将一个系统级的设计强行依赖到一个工程实践上,增大了代码的维护成本。
(4)当中间有某个请求在队列中丢掉,或者在发往请求处理方的网络中丢失,那么对于请求处理方,是感知不到这样的丢失情况的,无法补偿或发出报警。
(5)如果采用一个队列,则不能很好的进行冗余,即这唯一的队列节点崩溃(crash)了,并且如果没有将请求持久化,则该队列节点上的所有的请求都会丢掉。如果是将队列根据请求的维度进行分离,则势必会有热点队列,对内存的压力存在热点。
发明内容
本申请提供一种用户请求的生成、处理方法、装置、系统及电子设备,能够不依赖队列实现用户请求的处理顺序与生成顺序相同。
本申请采用如下技术方案。
一种用户请求的处理方法,包括:
根据用户的操作生成用户请求,在用户请求中携带该用户请求的唯一标识及前序标识;保存所述用户请求,将所述用户请求的状态设置成未处理;其中,所述前序标识是根据所述用户的上一次操作生成的用户请求的唯一标识;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611052960.8/2.html,转载请声明来源钻瓜专利网。





