网络通信方法、装置、计算机设备和存储介质与流程

文档序号:31792764发布日期:2022-10-14 16:16阅读:37来源:国知局
网络通信方法、装置、计算机设备和存储介质与流程

1.本技术涉及网络领域,具体涉及一种网络通信方法、装置、计算机设备和存储介质。


背景技术:

2.不同的应用程序之间(特别是不同主机上的应用程序)需要进行消息的传送,此时需要建立一个专属的消息传送通道用来传送消息。目前的技术是需要知道消息传递双方的详细地址(ip,port)方可通信,当消息传递需要一对多,或多对一时,消息双方需要知道的地址信息或需要建立的消息通道数量呈指数级增加。因此,如何屏蔽这些网络细节,让信息传递双方从指数级信息中快速获取订阅的主题内容,已成为迫切需要解决的难点。


技术实现要素:

3.因此,为了克服上述现有技术的缺点,本技术提供一种通过建立公用消息通道降低通信双方的复杂度及系统资源的占用的网络通信方法、装置、计算机设备和存储介质。
4.为了实现上述目的,本技术提供一种网络通信方法,应用在不同应用程序之间的消息传送,包括:通过消息通道接收发送端发送的第一数据信息,所述第一数据信息携带有发送端信息、主题消息以及对应的消息执行队列;控制接收端通过网络端口对所述第一数据信息进行侦听并检验,判断所述主题消息是否被订阅;控制接收端接收包含被订阅的主题消息的所述第一数据信息,并根据所述消息执行队列对所述主题消息进行排序;控制所述接收端根据排序后的所述主题消息生成反馈信息,并根据所述反馈信息和所述发送端信息生成第二数据信息;通过所述消息通道接收所述接收端发送的第二数据信息。
5.在其中一个实施例中,所述第一数据信息是发送端根据与所述接收端之间预先设定的协议信息加密的,所述接收端通过所述协议信息确定所述发送端的应用程序。
6.在其中一个实施例中,方法还包括:控制至少两个不同设备的同一应用程序分别接收订阅的所述第一数据信息;所述接收端根据所述主题消息生成反馈信息,并根据所述发送端信息和所述反馈信息生成第二数据信息;通过所述消息通道接收所述接收端发送的第二数据信息;控制所述发送端通过网络端口对所述第二数据信息进行侦听并检验,判断所述主题消息是否被反馈;基于所述反馈信息,根据分发策略权重控制所述发送端生成与所述接收端一一对应的第一数据信息。
7.在其中一个实施例中,所述基于所述反馈信息,根据分发策略权重控制所述发送端生成与所述接收端一一对应的第一数据信息,包括:基于所述反馈信息确定所述接收端的执行状态;当确定所述接收端执行异常时,根据所述反馈信息调整分发策略权重;根据调整后的分发策略权重控制所述发送端生成与所述接收端一一对应的第一数据信息。
8.在其中一个实施例中,所述第一数据信息还包含与应用程序一一对应的程序标识。
9.一种网络通信装置,包括发送端、接收端和消息通道,所述消息通道分别与发送端
和接收端工作配合;所述发送端根据主题生成第一数据信息,所述第一数据信息携带有发送端信息、主题消息以及对应的消息执行队列;所述消息通道接收发送端发送的第一数据信息;接收端通过网络端口对位于所述消息通道内的所述第一数据信息进行侦听并检验,判断所述主题消息是否被订阅;所述接收端接收订阅的所述第一数据信息,并根据所述消息执行队列对所述主题消息进行排序以便后续执行;所述接收端根据所述主题消息生成反馈信息,并根据所述发送端信息和所述反馈信息生成第二数据信息;所述消息通道接收所述接收端发送的第二数据信息;所述发送端通过网络端口对所述第二数据信息进行侦听并检验,判断所述主题消息是否被反馈。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
12.与现有技术相比,本技术的优点在于:通过建议一个公用的消息通道,通信双方并不需要知道对方的详细地址,只需要订阅主题消息,主题消息通过数据包以广播的方式发送到公用的通道中,接收方只需要查看是否是自已订阅的消息进行接收即可,从而可以减少专属通道的建立,并降低通信双方的复杂度以及系统资源的占用率。
附图说明
13.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
14.图1是本技术的实施例中网络通信装置的示意图;
15.图2是本技术的实施例中网络通信方法的流程示意图;以及
16.图3是本技术的实施例中策略权重调整步骤的流程示意图;
17.图4是本技术的一个实施例中计算机设备的内部结构图。
具体实施方式
18.下面结合附图对本技术实施例进行详细描述。
19.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本技术,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例
来说,可使用本文中所阐述的任何数个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
21.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
22.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
23.本技术实施例提供一种网络通信方法,应用在不同应用程序之间的消息传送,可以应用于如图1所示的网络通信装置中。其中,网络通信装置包括:发送端、接收端和消息通道。图中按分层模式分为两层:应用层和传输层。应用层包含至少两台主机,发送端和接收端分属不同主机。在一个实施例中,每个主机包含多个不同的应用程序。应用层可以根据约定将指定主题生成第一数据信息或者第二数据信息,并在第一数据信息或者第二数据信息中使用预设的封包字段表示协同控制命令和计算数据。应用层将第一数据信息或者第二数据信息发送给传输层。应用层包含发送端和接收端。发送端根据主题生成第一数据信息,第一数据信息携带有发送端信息、主题消息以及对应的消息执行队列;发送端通过网络端口对第二数据信息进行侦听并检验,判断主题消息是否被反馈。接收端通过网络端口对位于消息通道内的第一数据信息进行侦听并检验,判断主题消息是否被订阅;接收端接收订阅的第一数据信息,并根据消息执行队列对主题消息进行排序以便后续执行;接收端根据主题消息生成反馈信息,并根据发送端信息和反馈信息生成第二数据信息。在本技术的各实施例中,主题消息是根据使用场景的不同进行自定义设置,发送端发送主题a,接收端应该订阅主题a就可以收到信息。在一个实施例中,传输层为消息通道,消息通道分别与发送端和接收端工作配合。消息通道可以为各应用层的节点提供无服务器、可拓展的网络通信能力,对所有的第一数据信息或者第二数据信息进行广播。消息通道接收发送端发送的第一数据信息;消息通道接收接收端发送的第二数据信息。其中,主机可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式智能设备。
24.在一个实施例中,如图2所示,提供了一种网络通信方法,以该方法应用于图1中的网络通信装置为例进行说明,包括以下步骤:
25.步骤201,通过消息通道接收发送端发送的第一数据信息,第一数据信息携带有发送端信息、主题消息以及对应的消息执行队列。
26.第一数据信息携带有发送端信息、主题消息以及对应的消息执行队列。主题消息可以是字符串或者其他结构,其对系统通知所封装的信息的类型进行分类。发送端信息是发送端标识,用于指示接收端主题消息的来源。发送端将主题消息打包成第一数据信息时,在本技术中的由于第一数据信息以及第二数据信息的最大长度是固定的,发送端可以将主题消息拆包成多个数据包,每个数据包均携带有在主题消息对应的消息执行队列。
27.消息通道接收发送端发送的第一数据信息。当通信是多方时,也就是当发送端需要将一条信息发送给网络中的多个接收端时,发送端采用主题通信的模式,将主题消息打包成第一数据信息,并将第一数据信息以广播地址的方式发送到消息通道内,从而便于接
收端获取。接收端根据消息执行队列可以侦听所有的第一数据信息,并将所有的第一数据信息进行整合得到对应的主题消息。
28.步骤202,控制接收端通过网络端口对第一数据信息进行侦听并检验,判断主题消息是否被订阅。
29.接收端通过网络端口对第一数据信息进行侦听并检验,判断主题消息是否被订阅。接收端对发送来的所有第一数据信息的数据均进行检验,并通过主题信息进行匹配,从而判断第一数据信息是否是需要的数据信息。接收端可以仅解析第一数据信息的包头数据,从而实现对第一数据信息的快速识别。包头数据可以携带有信息的类型。
30.步骤203,控制接收端接收包含被订阅的主题消息的第一数据信息,并根据消息执行队列对主题消息进行排序。
31.接收端可以设置第一数据信息的缓存空间,从而保证第一数据信息不因为缓存空间的大小而丢失。缓存空间的内存可以为一个第一数据信息的内存。在拆分每个第一数据信息时,第一数据信息都包含一个包头信息,包头信息中可以含有数据包的总长度、拆分的包数(即消息执行队列的总数量)、拆分的序号(即在消息执行队列的序号)、校验码等信息。接收端在收取第一数据信息时解析包头中的数据用于重组。接收端接收同一主题消息的第一数据信息的时间可以存在差异,当同属一个消息执行队列的第一数据信息接收完全后,接收端根据消息执行队列对接收到的第一数据信息进行重组。接收端通过消息执行队列,以每个消息执行队列中的先进先出的队列方式保证每天消息发送和接收的顺序的一致性。
32.步骤204,控制接收端根据排序后的主题消息生成反馈信息,并根据发送端信息和反馈信息生成第二数据信息。
33.接收端根据排序后的主题消息生成反馈信息,并根据发送端信息和反馈信息生成第二数据信息。第二数据信息可以加密也可以不加密。在其中一个实施例中,第一数据信息是发送端根据与接收端之间预先设定的协议信息加密的,接收端通过协议信息确定发送端的应用程序。协议信息可以是ip、port、应用程序标识符等网络细节。发送端打包第一数据信息时,可以将网络细节用一定的方式进行加密,并将加密后的数据与需要发送的消息打包发送到消息通道中,接收端按约定的格定拆包后收到的数据包中含有发送端的网络信息,当回消息时即可知道由哪一个发送端的对应的应用程序发送出来。
34.在其中一个实施例中,可以设置不同的发送端的加密方式不一样,从而便于接收端快速识别发送端。在其中一个实施例中,第一数据信息还包含与应用程序一一对应的程序标识,可以设置不同的协议信息对应不同的应用程序,从而便于接收端快速识别对应的应用程序。因而同一台主机不同的应用程序都可以设置相应的消息队列,增加其并发处理的能力,避免不同的应用程序在其他程序运行时一直处于等待状态。
35.步骤205,通过消息通道接收接收端发送的第二数据信息。
36.消息通道接收接收端发送的第二数据信息。第二数据信息携带有第一数据信息的发送端信息、执行了主题消息的接收端信息、反馈信息以及对应的消息执行队列。在实施例中的发送端和接收端并不是固定的,针对不同的主题信息或不同信息,发送端和接收端可能会发生倒置。例如,在同一主题信息中,第一数据信息的发送端是第二数据信息的接收端,第一数据信息的接收端是第二数据信息的发送端。
37.上述方法,通过建议一个公用的消息通道,通信双方并不需要知道对方的详细地
址,只需要订阅主题消息,主题消息通过数据包以广播的方式发送到公用的通道中,接收方只需要查看是否是自身订阅的消息进行接收即可,从而可以减少专属通道的建立,并降低通信双方的复杂度以及系统资源的占用率。
38.在其中一个实施例中,方法还包括以下步骤:
39.控制至少两个不同设备的同一应用程序分别接收订阅的第一数据信息;
40.接收端根据主题消息生成反馈信息,并根据发送端信息和反馈信息生成第二数据信息;
41.通过消息通道接收接收端发送的第二数据信息;
42.控制发送端通过网络端口对第二数据信息进行侦听并检验,判断主题消息是否被反馈;
43.基于反馈信息,根据分发策略权重控制发送端生成与接收端一一对应的第一数据信息。
44.上述方法,同一个应用程序会同时开启在不同的两台主机上,不仅可以提高程序安全,也可以提高应用程序的可用性。而且当同一个应用程序分别在两台主机上启动了一支,例如当分发策略权重配置为50时,那发送端将会分别把消息按五五分发给不同的主机来处理,从而达到消息处理的负载均衡的目的。分发策略权重的取值范围可以从0~100,可以根据接收端的处理效率而定。且可以在多于两个设备上同时使用,只要所有设备的分发策略权重的值的总和为100即可。
45.如图3所示,在其中一个实施例中,基于反馈信息,根据分发策略权重控制发送端生成与接收端一一对应的第一数据信息,包括以下步骤:
46.步骤301,基于反馈信息确定接收端的执行状态。
47.发送端基于反馈信息确定接收端的执行状态。发送端至少存储有所有发送给接收端的主题信息以及主题信息的发送时间。发送端可以根据反馈信息确定接收端接收主题信息的时间、执行时间以及反馈时间等。
48.发送端可以根据接收端的反馈信息和已发送给该接收端的主题信息确定接收端是否正常执行以及执行效率。当执行效率低于预设阈值时,发送端判定该接收端执行异常,需要调整分发策略权重。当发送端给接收端发送第一数据信息,但在预设时间内未收到该接收端反馈的第二数据信息时,发送端判定该接收端故障,发生执行异常,同样需要调整分发策略权重。
49.步骤302,当确定接收端执行异常时,根据反馈信息调整分发策略权重。
50.当确定接收端执行异常时,发送端根据反馈信息调整分发策略权重。例如,接收端故障时,发送端可以将分发策略权重调整为满值,以便将原先预计分发给该接收端的主题信息全部转发给另一主机;当接收端处理效率过低时,发送端可以将分发策略权重适当调整为低值,以便将原先预计分发给该接收端的主题信息部分转发给另一主机。
51.步骤303,根据调整后的分发策略权重控制发送端生成与接收端一一对应的第一数据信息。
52.发送端根据调整后的分发策略权重控制发送端生成与接收端一一对应的第一数据信息。
53.在一个实施例中,网络通信方法包括:
54.消息通道分别与发送端和接收端工作配合;
55.发送端根据主题生成第一数据信息,第一数据信息携带有发送端信息、主题消息以及对应的消息执行队列;
56.消息通道接收发送端发送的第一数据信息;
57.接收端通过网络端口对位于消息通道内的第一数据信息进行侦听并检验,判断主题消息是否被订阅;
58.接收端接收订阅的第一数据信息,并根据消息执行队列对主题消息进行排序以便后续执行;
59.接收端根据主题消息生成反馈信息,并根据发送端信息和反馈信息生成第二数据信息;
60.消息通道接收接收端发送的第二数据信息;
61.发送端通过网络端口对第二数据信息进行侦听并检验,判断主题消息是否被反馈。
62.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储第一数据信息、第二数据信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络通信方法。
63.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:通过消息通道接收发送端发送的第一数据信息,第一数据信息携带有发送端信息、主题消息以及对应的消息执行队列;控制接收端通过网络端口对第一数据信息进行侦听并检验,判断主题消息是否被订阅;控制接收端接收包含被订阅的主题消息的所述第一数据信息,并根据所述消息执行队列对所述主题消息进行排序;控制所述接收端根据排序后的所述主题消息生成反馈信息,并根据所述反馈信息和所述发送端信息生成第二数据信息;通过消息通道接收接收端发送的第二数据信息。
64.在一个实施例中,处理器执行计算机程序时还实现以下步骤:控制至少两个不同设备的同一应用程序分别接收订阅的第一数据信息;接收端根据主题消息生成反馈信息,并根据发送端信息和反馈信息生成第二数据信息;通过消息通道接收接收端发送的第二数据信息;控制发送端通过网络端口对第二数据信息进行侦听并检验,判断主题消息是否被反馈;基于反馈信息,根据分发策略权重控制发送端生成与接收端一一对应的第一数据信息。
65.在一个实施例中,处理器执行计算机程序时实现的基于反馈信息,根据分发策略权重控制发送端生成与接收端一一对应的第一数据信息,包括:基于反馈信息确定接收端的执行状态;当确定接收端执行异常时,根据反馈信息调整分发策略权重;根据调整后的分发策略权重控制发送端生成与接收端一一对应的第一数据信息。
66.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通过消息通道接收发送端发送的第一数据信息,第一数据信息携带有发送端信息、主题消息以及对应的消息执行队列;控制接收端通过网络端口对第一数据信息进行侦听并检验,判断主题消息是否被订阅;控制接收端接收包含被订阅的主题消息的所述第一数据信息,并根据所述消息执行队列对所述主题消息进行排序;控制所述接收端根据排序后的所述主题消息生成反馈信息,并根据所述反馈信息和所述发送端信息生成第二数据信息;通过消息通道接收接收端发送的第二数据信息。
67.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:控制至少两个不同设备的同一应用程序分别接收订阅的第一数据信息;接收端根据主题消息生成反馈信息,并根据发送端信息和反馈信息生成第二数据信息;通过消息通道接收接收端发送的第二数据信息;控制发送端通过网络端口对第二数据信息进行侦听并检验,判断主题消息是否被反馈;基于反馈信息,根据分发策略权重控制发送端生成与接收端一一对应的第一数据信息。
68.在一个实施例中,计算机程序被处理器执行时实现的基于反馈信息,根据分发策略权重控制发送端生成与接收端一一对应的第一数据信息,包括:基于反馈信息确定接收端的执行状态;当确定接收端执行异常时,根据反馈信息调整分发策略权重;根据调整后的分发策略权重控制发送端生成与接收端一一对应的第一数据信息。
69.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1