本公开涉及前端技术、实时通讯技术、智能物联、橡胶机械等领域,具体而言,本公开涉及一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术:
1、随着现代前端技术发展,不论是移动端原生开发或混合开发,服务端网页开发,还是数据端的应用程序开发,移动端、服务端以及数据端之间的联系都会越来越频繁复杂,尤其是混合开发已逐步替代原生开发占领较大市场份额。随着混合开发技术的发展,数据采集端和数据展示端之间存在高并发传输、数据存储、客户端连接者众多的需求,并且还需要保证数据传输的实时性,这些需求越来越引起了开发者的高度重视。
2、目前,实时通讯技术是由服务端和移动端组成,服务端建立基础服务,允许移动端连接。移动端每次连接都会产生一个唯一标识(identity document,简称id),用户记录当前连接者id。当产生数据后,可通过服务端将数据直接推送到某一个或者某一个群组内的移动端。主要通过以下方式实现,客户端首先与服务端建立链接通讯;客户端实时监测网络变化自动切换websocket/长轮询模式,以保持与服务端连接;客户端监听服务端推送事件,当收到消息后判断数据是否需要持久化,然后将数据推送到客户端。
3、通过上述实时通讯的方式,满足了客户端实时通讯的需求,但是无法保证数据是否发送成功,通讯失败后,会出现数据丢失的情况,且客户端脱机后,不支持脱机消息来补偿发送,导致数据传输中出现数据丢失的情况。也就是说,目前的实时通讯技术无法保证数据存储的需求。
4、因此,客户端和服务端之间数据传输的实时性、以及数据存储的有效性,成为亟需解决的问题。
技术实现思路
1、本公开实施例提供了一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品,实现了多平台间大批量数据高并发传输,并保证了数据传输过程中数据的有效存储和数据的实时性。
2、一方面,本公开实施例提供了一种数据传输方法,该方法包括:
3、获取由消息管道组件发送的指示信息,其中,上述指示信息是通过以下方式获取到的:数据发起端向上述消息管道组件发送上述指示信息,上述消息管道组件在接收到上述指示信息之后,存储上述指示信息,并向上述数据中心服务器发送上述指示信息;
4、对上述指示信息进行数据处理操作,得到目标数据,并向物联网通讯协议管道传输上述目标数据,其中,上述物联网通讯协议管道用于向与上述指示信息对应的至少一个数据接收端发送上述目标数据,或者,向上述数据发起端发送上述目标数据。
5、在一种可选的实施例中,上述对上述指示信息进行数据处理操作,包括:根据上述指示信息所对应的数据属性,对上述指示信息进行数据清洗,得到数据清洗处理后的指示信息;根据上述指示信息所对应的数据属性,确定上述数据清洗处理后的指示信息是否需要进行持久化操作;若是,则对上述数据清洗处理后的指示信息进行持久化操作;若不是,则不对上述数据清洗处理后的指示信息进行持久化操作。
6、在一种可选的实施例中,上述消息管道组件为消息队列mq。
7、在一种可选的实施例中,上述物联网通讯协议管道为消息队列遥测传输协议mqtt。
8、在一种可选的实施例中,上述指示信息包括指令信息,上述方法包括:获取由消息管道组件发送的指令信息,其中,上述指令信息是通过以下方式获取到的:数据发起端向上述消息管道组件发送上述指令信息,上述消息管道组件在接收到上述指令信息之后,存储上述指令信息,并向上述数据中心服务器发送上述指令信息;对上述指令信息进行数据处理操作,得到目标指令,并向物联网通讯协议管道传输上述目标指令,其中,上述物联网通讯协议管道用于向与上述指令信息对应的至少一个数据接收端发送上述目标指令。
9、在一种可选的实施例中,上述指示信息包括待传输数据,上述方法包括:获取由消息管道组件发送的待传输数据,其中,上述待传输数据是通过以下方式获取到的:数据发起端向上述消息管道组件发送上述待传输数据,上述消息管道组件在接收到上述待传输数据之后,存储上述待传输数据,并向上述数据中心服务器发送上述待传输数据;对上述待传输数据进行数据处理操作,得到目标传输数据,并向物联网通讯协议管道传输上述目标传输数据,其中,上述物联网通讯协议管道用于向与上述待传输数据对应的至少一个数据接收端发送上述目标传输数据。
10、在一种可选的实施例中,上述指示信息还包括数据请求信息,上述方法还包括:获取由消息管道组件发送的数据请求信息,其中,上述数据请求信息是通过以下方式获取到的:数据发起端向上述消息管道组件发送上述数据请求信息,上述消息管道组件在接收到上述数据请求信息之后,存储上述数据请求信息,并向上述数据中心服务器发送上述数据请求信息;对上述数据请求信息进行数据处理操作,得到目标请求结果,并向物联网通讯协议管道传输上述目标请求结果,其中,上述物联网通讯协议管道用于向上述数据发起端发送上述目标请求结果。
11、一方面,本公开实施例提供了一种数据传输装置,该装置包含在数据中心服务器中,该装置包括:
12、获取模块,用于获取由消息管道组件发送的指示信息,其中,上述指示信息是通过以下方式获取到的:数据发起端向上述消息管道组件发送上述指示信息,上述消息管道组件在接收到上述指示信息之后,存储上述指示信息,并向上述数据中心服务器发送上述指示信息;
13、处理模块,用于对上述指示信息进行数据处理操作,得到目标数据,并向物联网通讯协议管道传输上述目标数据,其中,上述物联网通讯协议管道用于向与上述指示信息对应的至少一个数据接收端发送上述目标数据,或者,向上述数据发起端发送上述目标数据。
14、在一种可选的实施例中,上述处理模块具体用于:根据上述指示信息所对应的数据属性,对上述指示信息进行数据清洗,得到数据清洗处理后的指示信息;根据上述指示信息所对应的数据属性,确定上述数据清洗处理后的指示信息是否需要进行持久化操作;若是,则对上述数据清洗处理后的指示信息进行持久化操作;若不是,则不对上述数据清洗处理后的指示信息进行持久化操作。
15、在一种可选的实施例中,上述消息管道组件为消息队列mq。
16、在一种可选的实施例中,上述物联网通讯协议管道为消息队列遥测传输协议mqtt。
17、在一种可选的实施例中,上述指示信息包括指令信息,其中:
18、上述获取模块具体用于:获取由消息管道组件发送的指令信息,其中,上述指令信息是通过以下方式获取到的:数据发起端向上述消息管道组件发送上述指令信息,上述消息管道组件在接收到上述指令信息之后,存储上述指令信息,并向上述数据中心服务器发送上述指令信息;
19、上述处理模块具体用于:对上述指令信息进行数据处理操作,得到目标指令,并向物联网通讯协议管道传输上述目标指令,其中,上述物联网通讯协议管道用于向与上述指令信息对应的至少一个数据接收端发送上述目标指令。
20、在一种可选的实施例中,上述指示信息包括待传输数据,其中:
21、上述获取模块具体用于:获取由消息管道组件发送的待传输数据,其中,上述待传输数据是通过以下方式获取到的:数据发起端向上述消息管道组件发送上述待传输数据,上述消息管道组件在接收到上述待传输数据之后,存储上述待传输数据,并向上述数据中心服务器发送上述待传输数据;
22、上述处理模块具体用于:对上述待传输数据进行数据处理操作,得到目标传输数据,并向物联网通讯协议管道传输上述目标传输数据,其中,上述物联网通讯协议管道用于向与上述待传输数据对应的至少一个数据接收端发送上述目标传输数据。
23、在一种可选的实施例中,上述指示信息包括数据请求信息,其中:
24、上述获取模块具体用于:获取由消息管道组件发送的数据请求信息,其中,上述数据请求信息是通过以下方式获取到的:数据发起端向上述消息管道组件发送上述数据请求信息,上述消息管道组件在接收到上述数据请求信息之后,存储上述数据请求信息,并向上述数据中心服务器发送上述数据请求信息;
25、上述处理模块具体用于:对上述数据请求信息进行数据处理操作,得到目标请求结果,并向物联网通讯协议管道传输上述目标请求结果,其中,上述物联网通讯协议管道用于向上述数据发起端发送上述目标请求结果。
26、一方面,本公开实施例提供了一种数据传输系统,该系统包括:数据发起端,消息管道组件、数据中心服务器、物联网通讯协议管道、至少一个数据接收端;
27、上述数据发起端,用于向上述消息管道组件发送指示信息;
28、上述消息管道组件,用于在接收到上述指示信息之后,存储上述指示信息,并向上述数据中心服务器发送上述指示信息;
29、上述数据中心服务器,用于对上述指示信息进行数据处理操作,得到目标数据,并向物联网通讯协议管道传输上述目标数据;
30、上述物联网通讯协议管道,用于向与上述指示信息对应的至少一个上述数据接收端发送上述目标数据;上述数据接收端,用于接收上述目标数据;
31、或者,上述物联网通讯协议管道,用于向上述数据发起端发送上述目标数据;上述数据发起端,用于接收上述目标数据。
32、在一种可选的实施例中,上述消息管道组件,具体用于对上述指示信息进行持久化操作,以存储上述指示信息,并通过回调函数向上述数据中心服务器发送上述指示信息。
33、在一种可选的实施例中,上述物联网通讯协议管道,具体用于通过广播的方式,向至少一个已订阅的、且与上述指示信息对应的数据接收端发送上述指示信息,其中,任意一个该数据接收端为向上述物联网通讯协议订阅了消息的终端。
34、一方面,本公开实施例提供了一种电子设备,该电子设备包括处理器和存储器,该处理器和存储器相互连接;该存储器用于存储计算机程序;该处理器被配置用于在调用上述计算机程序时,执行上述数据传输方法的任一种可能的实现方式提供的方法。
35、一方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述数据传输方法的任一种可能的实现方式提供的方法。
36、一方面,本公开实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据传输方法的任一种可能的实现方式提供的方法。
37、本技术提供的技术方案带来的有益效果是:数据发起端向消息管道组件发送指示信息,该消息管道组件接收到该指示信息后,存储该指示信息,保证了数据传输过程中数据的有效存储,并向数据中心服务发送该指示信息,数据中心服务器获取该指示信息,并对该指示信息进行数据处理操作,得到目标数据,然后数据中心服务器向物联网通讯协议管道传输该目标数据,最终,由物联网通讯协议管道向与该指示信息相关的至少一个数据接收端发送该目标数据;或者,由物联网通讯协议管道向数据发起端发送该目标数据。在数据发起端、数据中心服务器以及数据接收端之间进行数据传输的过程中,通过本公开上述方式,由消息管道组件进行信息的存储,避免了信息的丢失,保证了信息的有效存储,并且消息管道组件能够满足数据传输过程中的高并发需求,提高了数据传输的高效性,通过数据发起端、数据中心服务器、消息管道组件、物联网通讯协议管道以及数据接收端进行数据传输,保证了数据传输的实时性,也就是说,本公开实施例实现了多平台间大批量数据高并发传输,并保证了数据传输过程中数据的有效存储和数据的实时性。
1.一种数据传输方法,其特征在于,所述方法由数据中心服务器执行,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述指示信息进行数据处理操作,包括:
3.根据权利要求1所述的方法,其特征在于,所述消息管道组件为消息队列mq。
4.根据权利要求1所述的方法,其特征在于,所述物联网通讯协议管道为消息队列遥测传输协议mqtt。
5.根据权利要求1所述的方法,其特征在于,所述指示信息包括指令信息,所述方法包括:
6.根据权利要求1所述的方法,其特征在于,所述指示信息包括待传输数据,所述方法包括:
7.根据权利要求1所述的方法,其特征在于,所述指示信息包括数据请求信息,所述方法包括:
8.一种数据传输装置,其特征在于,所述装置包括:
9.一种数据传输系统,其特征在于,所述系统包括:数据发起端,消息管道组件、数据中心服务器、物联网通讯协议管道、至少一个数据接收端;
10.根据权利要求9所述的系统,其特征在于,所述消息管道组件,具体用于对所述指示信息进行持久化操作,以存储所述指示信息,并通过回调函数向所述数据中心服务器发送所述指示信息。
11.根据权利要求10所述的系统,其特征在于,所述物联网通讯协议管道,具体用于通过广播的方式,向至少一个已订阅的、且与所述指示信息对应的数据接收端发送所述指示信息,其中,任意一个该数据接收端为向所述物联网通讯协议订阅了消息的终端。
12.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-7任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法的步骤。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。