一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种业务处理方法、装置、存储介质及电子装置与流程

2022-07-16 14:25:14 来源:中国专利 TAG:


1.本发明涉及通信领域,具体而言,涉及一种业务处理方法、装置、存储介质及电子装置。


背景技术:

2.服务端和终端通信协议使用的技术websocket的长连接,连接建立后终端和服务端某台服务器节点之间建立通信的通道,后面的交互都是基于这个通道进行通信。服务端集群部署,这样就会出现一个问题,如果服务端向终端发送消息,需要在找到这个终端与哪个服务端连接后在进行消息通信。
3.现有的实现方式是通过往消息队列中发送一条消息,然后在通过消息队列的消息广播方式发送到所有服务端节点,服务端节点判断该终端设备是否在该服务节点上,在进行后面的操作。这种方式实现简单,但是存在服务性能损耗,本来只会有一个服务节点需要处理,但是广播之后每个节点都需要做处理。
4.针对相关技术中通过消息队列的消息广播方式发送到所有服务端节点,经过所有服务端节点确定后由终端所在服务端节点处理,每个服务端节点均需要参与造成服务性能损耗较大的问题,尚未提出解决方案。


技术实现要素:

5.本发明实施例提供了一种业务处理方法、装置、存储介质及电子装置,以至少解决相关技术中通过消息队列的消息广播方式发送到所有服务端节点,经过所有服务端节点确定后由终端所在服务端节点处理,每个服务端节点均需要参与造成服务性能损耗较大的问题。
6.根据本发明的一个实施例,提供一种业务处理方法,应用于服务端,包括:
7.接收第一终端设备的业务请求,其中,所述业务请求中携带有所述第一终端设备的设备id;
8.对所述第一终端设备的业务进行处理,根据处理结果获取所述业务请求关联的第二终端设备的设备id;
9.从redis内存中获取所述第二终端设备的设备id对应的目标服务ip,其中,所述redis内存中缓存有设备id与服务ip的对应关系;
10.通过所述目标服务ip对应的目标长连接服务向所述第二终端设备发送所述业务请求对应的消息。
11.可选地,在所述接收第一终端设备的业务请求之前,所述方法还包括:
12.与终端设备建立连接,通过建立的连接获取成功注册的所述终端设备的设备id;
13.将所述第二终端设备的设备id与服务ip的对应关系保存到所述redis内存中。
14.可选地,所述与所述第二终端设备建立连接包括:
15.通过长连接服务集群中的目标长连接服务与所述第二终端设备建立连接,其中,
所述目标长连接服务订阅所述目标服务ip的主题。
16.可选地,所述通过所述目标服务ip对应的目标长连接服务向所述第二终端设备发送所述业务请求对应的消息包括:
17.通过远程过程调用(remote procedure call,简称为rpc)服务集群中的目标rpc服务,将所述业务响应发送到所述目标服务ip的主题对应的目标消息队列中;
18.通过所述目标消息队列将所述业务响应发送给所述目标长连接服务上;
19.通过所述目标长连接服务将所述业务响应发送给所述第二终端设备。
20.可选地,在所述通过rpc服务集群中的目标rpc服务,将所述业务响应发送到所述目标服务ip的主题对应的目标消息队列中之前,所述方法还包括:
21.启动所述目标长连接服务;
22.使用所述目标长连接服务的服务ip创建所述目标服务ip的主题。
23.可选地,所述对所述第一终端设备的业务进行处理,根据处理结果获取所述业务请求关联的第二终端设备的设备id包括:
24.通过负载均衡将所述业务请求分配到rpc服务集群中的目标rpc服务上;
25.通过所述目标rpc服务对所述第一终端设备的业务进行处理。
26.根据本发明的另一个实施例,还提供了一种业务处理装置,应用于服务端,包括:
27.接收模块,用于接收第一终端设备的业务请求,其中,所述业务请求中携带有所述第一终端设备的设备id;
28.业务处理模块,用于对所述第一终端设备的业务进行处理,根据处理结果获取所述业务请求关联的第二终端设备的设备id;
29.获取模块,用于从redis内存中获取所述第二终端设备的设备id对应的目标服务ip,其中,所述redis内存中缓存有设备id与服务ip的对应关系;
30.发送模块,用于通过所述目标服务ip对应的目标长连接服务向所述第二终端设备发送所述业务请求对应的消息。
31.可选地,所述装置还包括:
32.建立连接模块,用于与终端设备建立连接,通过建立的连接获取成功注册的所述终端设备的设备id;
33.保存模块,用于将所述第二终端设备的设备id与服务ip的对应关系保存到所述redis内存中。
34.可选地,所述建立连接模块,还用于
35.通过长连接服务集群中的目标长连接服务与所述第二终端设备建立连接,其中,所述目标长连接服务订阅所述目标服务ip的主题。
36.可选地,所述发送模块,还用于通过rpc服务集群中的目标rpc服务,将所述业务响应发送到所述目标服务ip的主题对应的目标消息队列中;通过所述目标消息队列将所述业务响应发送给所述目标长连接服务上;通过所述目标长连接服务将所述业务响应发送给所述第二终端设备。
37.可选地,所述装置还包括:
38.启动模块,用于启动所述目标长连接服务;
39.创建主题模块,用于使用所述目标长连接服务的服务ip创建所述目标服务ip的主
题。
40.可选地,所述业务处理模块,还用于通过负载均衡将所述业务请求分配到rpc服务集群中的目标rpc服务上;通过所述目标rpc服务对所述第一终端设备的业务进行处理。
41.根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
42.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
43.通过本发明,接收第一终端设备的业务请求,其中,所述业务请求中携带有所述第一终端设备的设备id;对所述第一终端设备的业务进行处理,根据处理结果获取所述业务请求关联的第二终端设备的设备id;从redis内存中获取所述第二终端设备的设备id对应的目标服务ip,其中,所述redis内存中缓存有设备id与服务ip的对应关系;通过所述目标服务ip对应的目标长连接服务向所述第二终端设备发送所述业务请求对应的消息,可以解决相关技术中通过消息队列的消息广播方式发送到所有服务端节点,经过所有服务端节点确定后由终端所在服务端节点处理,每个服务端节点均需要参与造成服务性能损耗较大的问题,通过设备id在redis内存中查找对应的服务ip,根据服务ip实现点对点通信,只需服务ip对应的服务端节点处理即可,避免了服务性能损耗。
附图说明
44.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
45.图1是本发明实施例的业务处理方法的移动终端的硬件结构框图;
46.图2是根据本发明实施例的业务处理方法的流程图;
47.图3是根据本发明实施例的消息点对点实现的时序图;
48.图4是根据本发明实施例的业务处理的示意图;
49.图5是根据本发明实施例的业务处理装置的框图;
50.图6是根据本发明优选实施例的业务处理装置的框图。
具体实施方式
51.下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
52.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
53.实施例1
54.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的业务处理方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于
存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
55.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的业务处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
56.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
57.基于上述的移动终端或网络架构,在本实施例中提供了一种业务处理方法,图2是根据本发明实施例的业务处理方法的流程图一,如图2所示,应用于客户端,该流程包括如下步骤:
58.步骤s202,接收第一终端设备的业务请求,其中,所述业务请求中携带有所述第一终端设备的设备id;
59.本发明实施例中的终端设备具体可以是音箱、电视、冰箱等。
60.步骤s204,对所述第一终端设备的业务进行处理,根据处理结果获取所述业务请求关联的第二终端设备的设备id;
61.本发明实施例中,服务端包括长连接服务集群、rpc服务集群以及多个消息队列mq,长连接服务集群由多个长连接服务组成,分别用于与终端设备连接,rpc服务集群由多个rpc服务组成,用于处理业务,对应的,上述步骤s204具体可以包括:通过负载均衡将业务请求分配到rpc服务集群中的目标rpc服务上;通过目标rpc服务对第一终端设备的业务进行处理。
62.步骤s206,从redis内存中获取所述第二终端设备的设备id对应的目标服务ip,其中,所述redis内存中缓存有设备id与服务ip的对应关系;
63.步骤s208,通过所述目标服务ip对应的目标长连接服务向所述第二终端设备发送所述业务请求对应的消息。
64.本发明实施例中的第一终端设备与第二终端设备可能是同一终端设备,也可能是不同的终端设备。若第一终端与第二终端设备为同一终端设备,服务端处理业务请求之后,根据终端设备的id对应的服务ip向终端设备发送业务请求的响应消息;若第一终端与第二终端设备为不同的终端设备,服务端处理业务请求之后,向第二终端设备发送业务请求对应的执行命令,即消息具体可以是执行命令,例如,执行唤醒指令或执行关闭指令等。
65.通过上述步骤s202至s208,通过设备id在redis内存中查找对应的服务ip,根据服
务ip实现点对点通信,只需服务ip对应的服务端节点处理即可,避免了服务性能损耗,可以解决相关技术中通过消息队列的消息广播方式发送到所有服务端节点,经过所有服务端节点确定后由终端所在服务端节点处理,每个服务端节点均需要参与造成服务性能损耗较大的问题。
66.在上述步骤s202之前,服务端与第二终端设备建立连接,具体是通过长连接服务集群中的一个长连接服务(即目标长连接服务)与第二终端设备建立连接,其中,所述目标长连接服务订阅服务ip的主题,服务ip即为该目标长连接服务的访问ip,之后第二终端设备成功注册到服务端中,通过建立的连接便可获取第二终端设备的设备id,进一步的,终端设备注册到服务端中,具体的终端设备向服务端发送注册请求,服务端完成对第二终端设备的注册,并返回注册响应。之后,将第二终端设备的设备id与服务ip的对应关系保存到数据库redis内存中,基于设备id与服务ip的对应关系便可查找到设备id对应的服务ip。
67.本发明实施例中,上述步骤s208具体可以通过rpc服务集群中的目标rpc服务,将所述业务响应发送到所述目标服务ip的主题对应的目标消息队列中;通过所述目标消息队列将所述业务响应发送给所述目标长连接服务上;通过所述目标长连接服务将所述业务响应发送给所述第二终端设备。
68.进一步的,在通过rpc服务集群中的目标rpc服务,将所述业务响应发送到所述目标服务ip的主题对应的目标消息队列中之前,启动所述目标长连接服务;使用所述目标长连接服务的服务ip创建所述目标服务ip的主题。
69.下面以终端设备为音箱为例对本发明实施例进行说明。
70.假设上述的第一终端设备与第二终端设备为同一设备音箱a,图3是根据本发明实施例的消息点对点实现的时序图,如图3所示,包括:
71.s301,websocket服务启动后,动态创建mq的主题(topic),topic命名使用服务当前ip,例如:topic_1270001;
72.s302,音响a与websocket服务建立连接,音箱a注册到websocket服务;
73.s303,websocket服务将设备id与服务ip的对应关系存储到redis内存中,音箱a连接服务后,websocket服务会维护一份设备id与服务ip的对应关系的列表,保存到分布式缓存redis中;
74.s304,websocket服务调用rpc服务处理业务逻辑;
75.s305,rpc服务处理业务逻辑,在内存中获取设备id对应的服务ip,mq消息直接发送到对应服务ip的topic;
76.s306,websocket服务消费服务ip的topic对应的消息,实现点对点消费。
77.可选的,还可以在后台运行一个定时任务系统,定期清理没有消费变动的topic信息。
78.假设上述的第一终端设备与第二终端设备为不同的鼠标,第一终端设备为音箱a,第二终端设备为音箱b,图4是根据本发明实施例的业务处理的示意图,如图4所示,包括:
79.步骤1,音响a和建立连接,音响b和websocketb建立连接;
80.步骤2,音响a发送消息到websocketa后,通过负载均衡随机调用rpc某一台机器,比如是rpc服务b;
81.步骤3,rpc服务b处理完业务逻辑后,需要b音响进行回复;
82.步骤4,rpc服务b查询缓存中的设备id与服务端ip对应关系列表,获取音响b的服务ip;
83.步骤4-6,发送mq消息到订阅这个ip的主题topic的长连接服务,实现点对点交互。
84.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例该的方法。
85.实施例2
86.在本实施例中还提供了一种业务处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
87.图5是根据本发明实施例的业务处理装置的框图,如图5所示,应用于服务端,包括:
88.接收模块52,用于接收第一终端设备的业务请求,其中,所述业务请求中携带有所述第一终端设备的设备id;
89.业务处理模块54,用于对所述第一终端设备的业务进行处理,根据处理结果获取所述业务请求关联的第二终端设备的设备id;
90.获取模块56,用于从redis内存中获取所述第二终端设备的设备id对应的目标服务ip,其中,所述redis内存中缓存有设备id与服务ip的对应关系;
91.发送模块58,用于通过所述目标服务ip对应的目标长连接服务向所述第二终端设备发送所述业务请求对应的消息。
92.图6是根据本发明优选实施例的业务处理装置的框图,如图6所示,所述装置还包括:
93.建立连接模块62,用于与终端设备建立连接,通过建立的连接获取成功注册的所述终端设备的设备id;
94.保存模块64,用于将所述第二终端设备的设备id与服务ip的对应关系保存到所述redis内存中。
95.可选地,所述建立连接模块62,还用于通过长连接服务集群中的目标长连接服务与所述第二终端设备建立连接,其中,所述目标长连接服务订阅所述目标服务ip的主题。
96.可选地,所述发送模块58,还用于通过rpc服务集群中的目标rpc服务,将所述业务响应发送到所述目标服务ip的主题对应的目标消息队列中;通过所述目标消息队列将所述业务响应发送给所述目标长连接服务上;通过所述目标长连接服务将所述业务响应发送给所述第二终端设备。
97.可选地,所述装置还包括:
98.启动模块,用于启动所述目标长连接服务;
99.创建主题模块,用于使用所述目标长连接服务的服务ip创建所述目标服务ip的主
题。
100.可选地,所述业务处理模块54,还用于通过负载均衡将所述业务请求分配到rpc服务集群中的目标rpc服务上;通过所述目标rpc服务对所述第一终端设备的业务进行处理。
101.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
102.实施例3
103.本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
104.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
105.s1,接收第一终端设备的业务请求,其中,所述业务请求中携带有所述第一终端设备的设备id;
106.s2,对所述第一终端设备的业务进行处理,根据处理结果获取所述业务请求关联的第二终端设备的设备id;
107.s3,从redis内存中获取所述第二终端设备的设备id对应的目标服务ip,其中,所述redis内存中缓存有设备id与服务ip的对应关系;
108.s4,通过所述目标服务ip对应的目标长连接服务向所述第二终端设备发送所述业务请求对应的消息。
109.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
110.实施例4
111.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
112.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
113.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
114.s1,接收第一终端设备的业务请求,其中,所述业务请求中携带有所述第一终端设备的设备id;
115.s2,对所述第一终端设备的业务进行处理,根据处理结果获取所述业务请求关联的第二终端设备的设备id;
116.s3,从redis内存中获取所述第二终端设备的设备id对应的目标服务ip,其中,所述redis内存中缓存有设备id与服务ip的对应关系;
117.s4,通过所述目标服务ip对应的目标长连接服务向所述第二终端设备发送所述业务请求对应的消息。
118.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
119.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
120.以上该仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献