CN110611652A - 数据通讯方法、装置、系统、计算机设备及存储介质 - Google Patents

数据通讯方法、装置、系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN110611652A
CN110611652A CN201910686643.9A CN201910686643A CN110611652A CN 110611652 A CN110611652 A CN 110611652A CN 201910686643 A CN201910686643 A CN 201910686643A CN 110611652 A CN110611652 A CN 110611652A
Authority
CN
China
Prior art keywords
message
communication
sending
service processing
target service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910686643.9A
Other languages
English (en)
Other versions
CN110611652B (zh
Inventor
代庆
张育辉
王武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southern Power Grid Digital Grid Research Institute Co Ltd
Original Assignee
Southern Power Grid Digital Grid Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Southern Power Grid Digital Grid Research Institute Co Ltd
Priority to CN201910686643.9A priority Critical patent/CN110611652B/zh
Publication of CN110611652A publication Critical patent/CN110611652A/zh
Application granted granted Critical
Publication of CN110611652B publication Critical patent/CN110611652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明涉及数据通讯方法、装置、系统、计算机设备及存储介质,属于网络技术领域。所述方法包括:接收应用端发送的第一报文;第一报文携带有特有通讯规约;根据特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;通讯指令,用于控制前置端,将第一报文发送给目标业务处理端并接收目标业务处理端返回的第二报文;接收前置端返回的第二报文,将第二报文发送给应用端。上述技术方案,解决了应用端与业务处理端的通讯难度高的问题。根据特有通讯规约确定目标业务处理端,实现与该目标业务处理端的通讯,而共有业务可以集中处理,能有效降低应用端与业务处理端通讯的难度。

Description

数据通讯方法、装置、系统、计算机设备及存储介质
技术领域
本发明涉及网络技术领域,特别是涉及数据通讯方法、装置、系统、计算机设备及存储介质。
背景技术
在许多交互系统中,应用端需要通过前置端与业务处理端进行数据通讯,前置端承担着接入大量终端、解释海量报文数据、数据转换等重要工作。
在实现本发明过程中,发明人发现传统方式中至少存在如下问题:目前,针对不同的业务可能有不同的业务处理端,因此业务处理端数量多,而这些业务处理端可能类型不同或者来自不同的厂商,它们的在规约和通讯方式上存在较大差异。应用端需要根据不同的业务处理端进行不同的通讯处理,进行不同规约的组帧、解帧及业务操作,这样加大了应用端与业务处理端的通讯难度。
发明内容
基于此,本发明实施例提供了数据通讯方法、装置、系统、计算机设备及存储介质,能有效降低应用端与业务处理端之间的通讯难度。
本发明实施例的内容如下:
第一方面,本发明实施例提供一种数据通讯方法,包括以下步骤:接收应用端发送的第一报文;所述第一报文携带有特有通讯规约;根据所述特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;所述通讯指令,用于控制所述前置端,将所述第一报文发送给所述目标业务处理端并接收所述目标业务处理端返回的第二报文;接收所述前置端返回的第二报文,将所述第二报文发送给所述应用端。
在一个实施例中,所述根据所述特有通讯规约,确定目标业务处理端的步骤,包括:确定所述第一报文对应的共有通讯规约;根据所述共有通讯规约和所述特有通讯规约,确定目标业务处理端。
在一个实施例中,所述接收应用端发送的第一报文的步骤之后,还包括:对所述第一报文进行解组装;根据解组装后的第一报文,确定所述特有通讯规约和所述共有通讯规约。
在一个实施例中,所述向前置端发送通讯指令的步骤,包括:对所述解组装后的第一报文进行组装;根据组装得到的第一报文,生成通讯指令;通过socket向前置端发送所述通讯指令。
在一个实施例中,所述向前置端发送通讯指令的步骤,包括:从线程池中获取目标线程;通过所述目标线程向所述前置端发送所述通讯指令。
在一个实施例中,所述向前置端发送通讯指令的步骤,包括:从连接池中获取目标连接;通过所述目标连接向所述前置端发送所述通讯指令。
在一个实施例中,所述向前置端发送通讯指令的步骤,包括:获取目标IO;通过所述目标IO向所述前置端发送所述通讯指令;其中,所述目标IO为NIO。
在一个实施例中,所述将所述第二报文发送给所述应用端的步骤之前,还包括:对所述第二报文进行预先设定的日志记录操作。
第二方面,本发明实施例提供一种数据通讯方法,包括以下步骤:接收通讯控制端发送的通讯指令;所述通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;所述第一报文由应用端发送;根据所述通讯指令,将所述第一报文发送给目标业务处理端;接收所述目标业务处理端返回的第二报文;将所述第二报文通过所述通讯控制端发送给所述应用端。
在一个实施例中,所述将所述第一报文发送给所述目标业务处理端的步骤,包括:将所述第一报文转换成业务报文;将所述业务报文发送给所述目标业务处理端。
第三方面,本发明实施例提供一种数据通讯装置,包括:报文接收模块,用于接收应用端发送的第一报文;所述第一报文携带有特有通讯规约;信息获取模块,用于根据所述特有通讯规约,确定目标业务处理端;指令发送模块,用于向前置端发送通讯指令;所述通讯指令,用于控制所述前置端,将所述第一报文发送给所述目标业务处理端并接收所述目标业务处理端返回的第二报文;第一报文发送模块,用于接收所述前置端返回的第二报文,将所述第二报文发送给所述应用端。
第四方面,本发明实施例提供一种数据通讯装置,包括:指令接收模块,用于接收通讯控制端发送的通讯指令;所述通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;所述第一报文由应用端发送;处理端确定模块,用于根据所述通讯指令,确定目标业务处理端;第二报文发送模块,用于将所述第一报文发送给所述目标业务处理端,并接收所述目标业务处理端返回的第二报文;第三报文发送模块,用于将所述第二报文通过所述通讯控制端发送给所述应用端。
第五方面,本发明实施例提供一种数据通讯系统,包括:应用端、通讯控制端以及前置端;所述应用端,用于向所述通讯控制端发送第一报文;所述第一报文携带有特有通讯规约;所述通讯控制端,用于接收应用端发送的第一报文;根据所述特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;所述前置端,用于根据所述通讯指令,将所述第一报文发送给所述目标业务处理端,并接收所述目标业务处理端返回的第二报文;所述通讯控制端,还用于接收所述前置端发送的第二报文,将所述第二报文发送给所述应用端。
第六方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收应用端发送的第一报文;所述第一报文携带有特有通讯规约;根据所述特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;所述通讯指令,用于控制所述前置端,将所述第一报文发送给所述目标业务处理端并接收所述目标业务处理端返回的第二报文;接收所述前置端返回的第二报文,将所述第二报文发送给所述应用端。
第七方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收应用端发送的第一报文;所述第一报文携带有特有通讯规约;根据所述特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;所述通讯指令,用于控制所述前置端,将所述第一报文发送给所述目标业务处理端并接收所述目标业务处理端返回的第二报文;接收所述前置端返回的第二报文,将所述第二报文发送给所述应用端。
第八方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收应用端发送的第一报文;所述第一报文携带有特有通讯规约;根据所述特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;所述通讯指令,用于控制所述前置端,将所述第一报文发送给所述目标业务处理端并接收所述目标业务处理端返回的第二报文;接收所述前置端返回的第二报文,将所述第二报文发送给所述应用端。
第九方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收通讯控制端发送的通讯指令;所述通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;所述第一报文由应用端发送;根据所述通讯指令,将所述第一报文发送给目标业务处理端;接收所述目标业务处理端返回的第二报文;将所述第二报文通过所述通讯控制端发送给所述应用端。
上述技术方案中的一个技术方案具有如下优点或有益效果:根据第一报文中的特有通讯规约确定目标业务处理端,进而向前置端发送通讯指令,以控制该前置端将第一报文发送给目标业务处理端,将前置端返回的第二报文发送给应用端。根据特有通讯规约确定目标业务处理端,实现与该目标业务处理端的通讯,而共有业务可以集中处理,能有效降低应用端与业务处理端通讯的难度。
附图说明
图1为一个实施例中数据通讯方法的应用环境图;
图2为一个实施例中数据通讯方法的流程示意图;
图3为另一个实施例中数据通讯方法的流程示意图;
图4为再一个实施例中数据通讯方法的流程示意图;
图5为一个实施例中数据通讯装置的结构框图;
图6为另一个实施例中数据通讯装置的结构框图;
图7为一个实施例中数据通讯系统的结构框图;
图8为一个实施例中计算机设备的内部结构。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请提供的数据通讯方法可以应用于如图1所示的应用环境中。该应用环境包括网络连接的应用端101、通讯控制端102、前置端103以及业务处理端104。其中,应用端101将第一报文(携带有特有通讯规约)发送给通讯控制端102,通讯控制端102根据特有通讯规约从业务处理端104(数量可以为多个)中确定目标业务处理端,并向前置端103发送通讯指令,前置端103根据通讯指令将第一报文发送给目标业务处理端并接收目标业务处理端返回的第二报文,通讯控制端102将第二报文返回给应用端。具体的,应用端101可以指能与用户进行交互的对象,可以是应用程序、安装有特定应用程序的设备等;通讯控制端102可以是各种具有通讯以及控制功能的设备,可以是终端(终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备),也可以是服务器(服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现),进一步地,通讯控制端也可以是一段可以被调用的程序(可以通过java来编写);前置端103指的是通讯控制端102与业务处理端104之间的中间设备,也可以通过终端或服务器实现;业务处理端104可以是具有处理专门业务功能的设备,可以是电力信息处理器、开关控制器、故障检修设备、电力设备监控器、用电信息采集设备、错峰管理器、用电管理器等。
本发明实施例提供一种数据通讯方法、装置、系统、计算机设备及存储介质。以下分别进行详细说明。
在一个实施例中,如图2所示,提供了一种数据通讯方法。以该方法应用于图1中的通讯控制端为例进行说明,包括以下步骤:
S201、接收应用端发送的第一报文;第一报文携带有特有通讯规约。
在应用端需要通过业务处理端处理业务时,应用端向业务处理端发送报文数据,业务处理端在接收到报文数据之后进行对应的业务处理并返回响应报文。而目前常借助前置机来实现应用端和业务处理端之间的通讯。由于报文传输过程中可能涉及到相同的传输流程或者存在相同的业务处理过程,如果每一次都要前置机执行当次传输流程或业务处理的所有程序,则需要执行许多重复的程序,造成资源的浪费,也使得应用端和业务处理端之间的通讯效率以及业务处理低下。
本发明实施例的第一报文指的是当次通讯所需传输的数据单元,可以包括通讯方式、业务数据、业务处理方式等信息。进一步地,第一报文会包含与其他报文共有和特有(有差异)的通讯规约(规约可以理解为执行程序),可以对共有通讯规约对应的业务进行集中处理,而重点关注特有通讯规约对应的业务,这样能有效简化前置机的通讯压力并提高其通讯效率。其中,共有通讯规约指的是相同业务内容对应的规约,可以指连接、任务下发、接收、解析、参数设置等通用操作对应的规约。
以下举例说明共有通讯规约和特有通讯规约:在电网领域,错峰管理和用电管理的业务都涉及到终端拉合闸,其中,对终端拉合闸的业务规约属于共有通讯规约,而错峰管理业务所特有的错峰控制、用电管理业务所特有的用电信息统计则属于特有通讯规约。
S202、根据特有通讯规约,确定目标业务处理端。
其中,业务处理端可以为多个,目标业务处理端可以为所提供的业务处理端中的一个、两个或者多个。
特有通讯规约中包含有特定业务的通讯规约,通讯控制端能据此确定用于执行该特定业务的特定业务处理端,即目标业务处理端。
S203、向前置端发送通讯指令;通讯指令,用于控制前置端,将第一报文发送给目标业务处理端并接收目标业务处理端返回的第二报文。
其中,通讯指令中可以包含有目标业务处理端的标识信息、业务处理方式、第一报文等。因此,前置端在接收到通讯指令后能将第一报文发送给对应的目标业务处理端。
本步骤中,通讯控制器向前置端发送通讯指令,前置端根据该通讯指令将第一报文发送给目标业务处理端,目标业务处理端根据第一报文进行业务处理并在业务处理结束后得到第二报文(也可以称为响应报文),前置端接收目标业务处理端返回的第二报文。
进一步地,还可以根据特有通讯规约控制前置端和目标业务处理端的业务处理过程,使得前置端和目标业务处理端执行与特有通讯规约对应的业务,而共有通讯规约对应的业务可以通过其他的集中设备或者在其他时间进行集中处理。
S204、接收前置端返回的第二报文,将第二报文发送给应用端。
在本步骤中,通讯控制端将接收到的第二报文返回给应用端。应用端在接收到第二报文后可以进行下一步的业务操作,如果根据第二报文发现目标业务处理端的业务处理不完善,可以再次向通讯控制端发送报文,以启动应用端和业务处理端之间的再次通讯并完善相应的业务处理结果。
本实施例提供的数据通讯方法,具有以下有益效果:1、根据特有通讯规约确定目标业务处理端,实现应用端与该目标业务处理端的通讯。2、共有业务可以提取出来集中处理,能有效减少重复代码,并将关注点聚焦在业务差异性上,能有效降低应用端与业务处理端通讯的难度。3、本实施例借助动态代理功能,在应用端和前置端之间增加通讯控制端,该通讯控制端可以被应用端调用,通过动态代理访问目标对象(应用端和业务处理端),在目标实现(应用端与业务处理端的通讯)的基础上增加额外的功能操作(降低两者的通讯难度),能满足自身的业务需求,同时代理模式也便于扩展目标对象功能。
在一个实施例中,根据特有通讯规约,确定目标业务处理端的步骤,包括:确定第一报文对应的共有通讯规约;根据共有通讯规约和特有通讯规约,确定目标业务处理端。
通讯控制端可以将可能涉及到的报文进行整理,提取其中的共有通讯规约和特有通讯规约,将与共有通讯规约对应的第一通讯信息(所连接的前置端、业务处理端标识信息等)进行集中封装,并将各个特有通讯规约对应的第二通讯信息进行独立封装。在接收到应用端发送的调用请求时,从调用请求中确定第一报文,并确定其中是否携带有共有通讯规约和特有通讯规约;如果有共有通讯规约,则通过封装后的第一通讯信息控制前置端与业务处理端进行通讯;如果有特有通讯规约,则确定与该特有通讯规约对应的第二通讯信息,通过封装后的该第二通讯信息控制前置端与业务处理端进行通讯。
有些报文中可能只有共有通讯规约或者只有特有通讯规约,在这种情况下,对应确定第一通讯信息或第二通讯信息就可以通过前置端实现与业务处理端的通讯,并将该报文发送给业务处理端。
进一步地,对于既携带有共有通讯规约也携带有特有通讯规约的第一报文,可以将第一通讯信息和第二通讯信息结合起来确定目标业务处理端,进而通过前置端实现与目标业务处理端的通讯。具体的,结合错峰控制(特有)以及终端拉合闸(共有)对应的通讯规约可以将目标业务处理端确定为错峰管理器,结合用电信息统计(特有)以及终端拉合闸(共有)对应的通讯规约可以将目标业务处理端确定为用电管理器。
更进一步地,可以通过反射机制来确定内部报文所属的类,进而确定共有通讯规约和特有通讯规约。其中,反射机制可以基于以下功能来确定共有通讯规约和特有通讯规约:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
上述实施例根据共有通讯规约和特有通讯规约确定目标业务处理端,既考虑到了通讯规约中的共有部分,也考虑到了差异部分,能准确确定出目标业务处理端,提高通讯的有效性。
在一个实施例中,接收应用端发送的第一报文的步骤之后,还包括:对第一报文进行解组装;根据解组装后的第一报文,确定特有通讯规约和共有通讯规约。
进一步地,向前置端发送通讯指令的步骤,包括:对解组装后的第一报文进行组装;根据组装得到的第一报文,生成通讯指令;通过socket向前置端发送通讯指令。
另外,通讯控制端可以包括多个功能单元(可以通过具体的程序实现),具体为:解组装单元、报文组装单元、报文下发单元以及报文接收单元。其中,对第一报文进行解组装可以通过解组装单元实现,对解组装后的第一报文进行组装可以通过报文组装单元实现,向前置端发送第一报文可以通过报文下发单元实现,接收前置端返回的响应报文可以通过报文接收单元实现。
上述实施例对报文进行组装和解组装,能更好地提取其中的通讯规约,同时保证数据通讯的正常进行。
在一个实施例中,向前置端发送通讯指令的步骤,包括:从线程池中获取目标线程;通过目标线程向前置端发送通讯指令。
进一步地,向前置端发送通讯指令的步骤,包括:从连接池中获取目标连接;通过目标连接向前置端发送通讯指令。
本实施例创建和管理一个连接的缓冲池,这些连接准备好被任何需要它们的线程使用,能降低socket连接、建立以及销毁的开销。
进一步地,向前置端发送通讯指令的步骤,包括:获取目标IO;通过目标IO向前置端发送通讯指令;其中,目标IO为NIO。
其中,NIO即New IO,NIO和IO有相同的作用,都用于实现数据的输入输出,但NIO效率比IO高很多。因此,采用NIO能有效提高通讯控制端与前置端之间的通讯效率。
更进一步地,目标线程、目标连接和NIO单独使用,也可以相互配合。相互配合的实现过程可以为:通讯控制端从线程池中获取空闲的线程,作为目标线程;从连接池中获取与前置端对应的目标连接;通过该目标线程调用该目标连接,并通过NIO向前置端发送通讯指令。其中,采用NIO及线程池技术的结合能提高通信效率,提升通讯控制端与前置端通讯时的数据及业务处理能力,提高通讯控制端的并发量及程序稳定性。
上述实施例提供的数据通讯方法,采用连接池、NIO及线程池技术,实现了通讯控制端与前置端通讯的高并发、高性能通讯连接和数据收发。
在一些实施例中,应用端与通讯控制端、前置端与业务处理端也可以通过确定目标线程、目标连接、NIO的方式来进行通讯,以提高整个系统的通讯效率。
在一个实施例中,将第二报文发送给应用端的步骤之前,还包括:对第二报文进行预先设定的日志记录操作。
通讯控制端还可以包括业务自定义单元,这个日志记录操作就可以是通过这个业务自定义单元定义。即,日志记录操作可以理解为通讯控制器中自定义的业务。该自定义业务还可以包括其他的操作,例如:数据查询、数据存储等。进一步地,这个自定义单元中的业务可以由用户定义。
在一个实施例中,如图3所示,本发明实施例提供一种数据通讯方法。以该方法应用于图1中的前置端为例进行说明,包括以下步骤:
S301、接收通讯控制端发送的通讯指令;通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;第一报文由应用端发送。
S302、根据通讯指令,将第一报文发送给目标业务处理端。
S303、接收目标业务处理端返回的第二报文。
S304、将第二报文通过通讯控制端发送给应用端。
本实施例,根据特有通讯规约确定目标业务处理端,实现与该目标业务处理端的通讯,而共有业务可以集中处理,能有效降低应用端与业务处理端通讯的难度。
在一个实施例中,将第一报文发送给目标业务处理端的步骤,包括:将第一报文转换成业务报文;将业务报文发送给目标业务处理端。
进一步地,前置机接收到响应报文后,将响应报文转换成内部报文(报文形式可以与第一报文一致)返回给通讯控制端的报文接收单元。
通讯控制端还可以包括报文解析单元。报文接收单元获取到内部报文后,调用报文解析单元将内部报文转换成业务数据,通过业务自定义单元处理后将业务数据返回给应用端。
上述实施例提供的数据通讯方法,在前置机和业务处理端进行通讯时,对报文进行转换,能使后续的数据处理更为便捷,提高整体数据通讯的效率。
为了更好地理解上述方法,以下详细阐述一个本发明数据通讯方法的应用实例。图4为实现数据通讯方法的流程示意图,如图4所示,通讯组件为前述实施例中的通讯控制端,前置机为前述实施例中的前置端,设备1、设备2、……、设备n为前述实施例中的业务处理端。数据通讯方法的具体实现过程如下:
1、应用端向通讯组件发送调用指令,该调用指令中包含有需要发送给处理设备的内部报文,而该内部报文中携带有共有通讯协议和特有通讯协议。
2、通讯组件对内部报文进行解组装,根据解组装得到的数据确定共有通讯协议和特有通讯协议,并基于共有通讯协议和特有通讯协议确定与目标设备的通讯信息。
3、通讯组件确定目标线程、目标连接以及NIO,并基于目标线程、目标连接以及NIO通过发送通讯指令的方式将内部报文和通讯信息发送给前置机。
4、前置机将内部报文转换为目标设备(设备1、设备2、……、设备n的其中之一)的设备报文(目标设备能识别的报文),并根据该通讯信息,将设备报文发送给目标设备。
5、目标设备根据该设备报文进行业务处理,得到响应报文,并将响应报文发送给前置机。
6、前置机将响应报文转换为内部报文并通过通讯组件返回给应用端。
本实施例提供的数据通讯方法,根据共有通讯规约和特有通讯规约确定目标业务处理端,实现与该目标业务处理端的通讯,根据特有通讯规约执行特定的业务,而共有业务可以集中处理,能有效降低应用端与业务处理端通讯的难度。能解决应用端连接前置机程序及组装解析内部报文造成的重复编码问题。通过引入面向对象的内部规约,屏蔽了与多种设备底层通讯的问题,使得应用端只需关注业务,降低了维护难度。通过动态代理所增加的通讯组件保证了整个系统的高可用性、可靠性、稳定性,同时,能保证应用端与前置机之间的通讯并发及稳定性。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
基于与上述实施例中的数据通讯方法相同的思想,本发明还提供数据通讯装置,该装置可用于执行上述数据通讯方法。为了便于说明,数据通讯装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,本发明实施例提供一种数据通讯装置,包括报文接收模块501、信息获取模块502、指令发送模块503和第一报文发送模块504,详细说明如下:报文接收模块501,用于接收应用端发送的第一报文;第一报文携带有特有通讯规约;信息获取模块502,用于根据特有通讯规约,确定目标业务处理端;指令发送模块503,用于向前置端发送通讯指令;通讯指令,用于控制前置端,将第一报文发送给目标业务处理端并接收目标业务处理端返回的第二报文;第一报文发送模块504,用于接收前置端返回的第二报文,将第二报文发送给应用端。
在一个实施例中,信息获取模块502,包括:共有规约确定子模块,用于确定第一报文对应的共有通讯规约;处理端确定子模块,用于根据共有通讯规约和特有通讯规约,确定目标业务处理端。
在一个实施例中,还包括:解组装模块,用于对第一报文进行解组装;通讯规约确定模块,用于根据解组装后的第一报文,确定特有通讯规约和共有通讯规约。
在一个实施例中,指令发送模块503,包括:组装子模块,用于对解组装后的第一报文进行组装;指令生成子模块,用于根据组装得到的第一报文,生成通讯指令;指令发送子模块,用于通过socket向前置端发送通讯指令。
在一个实施例中,指令发送模块503,还用于从线程池中获取目标线程;通过目标线程向前置端发送通讯指令。
在一个实施例中,指令发送模块503,还用于从连接池中获取目标连接;通过目标连接向前置端发送通讯指令。
在一个实施例中,指令发送模块503,还用于获取目标IO;通过目标IO向前置端发送通讯指令;其中,目标IO为NIO。
在一个实施例中,还包括:日志记录模块,用于对第二报文进行预先设定的日志记录操作。
如图6所示,本发明实施例提供一种数据通讯装置,包括指令接收模块601、处理端确定模块602、第二报文发送模块603和第三报文发送模块604,详细说明如下:指令接收模块601,用于接收通讯控制端发送的通讯指令;通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;第一报文由应用端发送;处理端确定模块602,用于根据通讯指令,确定目标业务处理端;第二报文发送模块603,用于将第一报文发送给目标业务处理端,并接收目标业务处理端返回的第二报文。
第三报文发送模块604,用于将第二报文通过通讯控制端发送给应用端。
本实施例,根据特有通讯规约确定目标业务处理端,实现与该目标业务处理端的通讯,而共有业务可以集中处理,能有效降低应用端与业务处理端通讯的难度。
在一个实施例中,第二报文发送模块603,包括:报文转换子模块,用于将第一报文转换成业务报文;报文发送子模块,用于将业务报文发送给目标业务处理端。
如图7所示,本发明实施例提供一种数据通讯系统,包括:应用端701、通讯控制端702以及前置端703;所述应用端701,用于向所述通讯控制端发送第一报文;所述第一报文携带有特有通讯规约;所述通讯控制端702,用于接收应用端发送的第一报文;根据所述特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;所述前置端703,用于根据所述通讯指令,将所述第一报文发送给所述目标业务处理端,并接收所述目标业务处理端返回的第二报文;所述通讯控制端702,还用于接收所述前置端发送的第二报文,将所述第二报文发送给所述应用端。
本实施例,根据特有通讯规约确定目标业务处理端,实现与该目标业务处理端的通讯,而共有业务可以集中处理,能有效降低应用端与业务处理端通讯的难度。
需要说明的是,本发明的数据通讯装置、系统与本发明的数据通讯方法一一对应,在上述数据通讯方法的实施例阐述的技术特征及其有益效果均适用于数据通讯装置、系统的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
此外,上述示例的数据通讯装置、系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将数据通讯装置、系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
本申请提供的数据通讯方法可以应用于如图8所示的计算机设备中。该计算机设备可以是服务器,也可以是终端设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,处理器用于提供计算和控制能力;存储器包括非易失性存储介质、内存储器,该非易失性存储介质存储有操作系统、计算机程序(该计算机程序被处理器执行时实现一种数据通讯方法)和数据库,该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境;数据库用于存储数据通讯方法执行过程中涉及到的各种数据;网络接口用于与外部的终端通过网络连接通信,例如:与应用端和前置机进行网络通信。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:接收应用端发送的第一报文;第一报文携带有特有通讯规约;根据特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;通讯指令,用于控制前置端,将第一报文发送给目标业务处理端并接收目标业务处理端返回的第二报文;接收前置端返回的第二报文,将第二报文发送给应用端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定第一报文对应的共有通讯规约;根据共有通讯规约和特有通讯规约,确定目标业务处理端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对第一报文进行解组装;根据解组装后的第一报文,确定特有通讯规约和共有通讯规约。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对解组装后的第一报文进行组装;根据组装得到的第一报文,生成通讯指令;通过socket向前置端发送通讯指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从线程池中获取目标线程;通过目标线程向前置端发送通讯指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从连接池中获取目标连接;通过目标连接向前置端发送通讯指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取目标IO;通过目标IO向前置端发送通讯指令;其中,目标IO为NIO。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对第二报文进行预先设定的日志记录操作。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:接收通讯控制端发送的通讯指令;通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;第一报文由应用端发送;根据通讯指令,将第一报文发送给目标业务处理端;接收目标业务处理端返回的第二报文;将第二报文通过通讯控制端发送给应用端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将第一报文转换成业务报文;将业务报文发送给目标业务处理端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收应用端发送的第一报文;第一报文携带有特有通讯规约;根据特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;通讯指令,用于控制前置端,将第一报文发送给目标业务处理端并接收目标业务处理端返回的第二报文;接收前置端返回的第二报文,将第二报文发送给应用端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定第一报文对应的共有通讯规约;根据共有通讯规约和特有通讯规约,确定目标业务处理端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第一报文进行解组装;根据解组装后的第一报文,确定特有通讯规约和共有通讯规约。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对解组装后的第一报文进行组装;根据组装得到的第一报文,生成通讯指令;通过socket向前置端发送通讯指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从线程池中获取目标线程;通过目标线程向前置端发送通讯指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从连接池中获取目标连接;通过目标连接向前置端发送通讯指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取目标IO;通过目标IO向前置端发送通讯指令;其中,目标IO为NIO。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第二报文进行预先设定的日志记录操作。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收通讯控制端发送的通讯指令;通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;第一报文由应用端发送;根据通讯指令,将第一报文发送给目标业务处理端;接收目标业务处理端返回的第二报文;将第二报文通过通讯控制端发送给应用端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将第一报文转换成业务报文;将业务报文发送给目标业务处理端。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,作为独立的产品销售或使用。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或(模块)单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,不能理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种数据通讯方法,其特征在于,包括以下步骤:
接收应用端发送的第一报文;所述第一报文携带有特有通讯规约;
根据所述特有通讯规约,确定目标业务处理端;
向前置端发送通讯指令;所述通讯指令,用于控制所述前置端,将所述第一报文发送给所述目标业务处理端并接收所述目标业务处理端返回的第二报文;
接收所述前置端返回的第二报文,将所述第二报文发送给所述应用端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述特有通讯规约,确定目标业务处理端的步骤,包括:
确定所述第一报文对应的共有通讯规约;
根据所述共有通讯规约和所述特有通讯规约,确定目标业务处理端。
3.根据权利要求2所述的方法,其特征在于,所述接收应用端发送的第一报文的步骤之后,还包括:
对所述第一报文进行解组装;
根据解组装后的第一报文,确定所述特有通讯规约和所述共有通讯规约。
4.根据权利要求3所述的方法,其特征在于,所述向前置端发送通讯指令的步骤,包括:
对所述解组装后的第一报文进行组装;
根据组装得到的第一报文,生成通讯指令;
通过socket向前置端发送所述通讯指令。
5.根据权利要求1所述的方法,其特征在于,所述向前置端发送通讯指令的步骤,包括:
从线程池中获取目标线程;通过所述目标线程向所述前置端发送所述通讯指令;
和/或,
从连接池中获取目标连接;通过所述目标连接向所述前置端发送所述通讯指令;
和/或,
获取目标IO;通过所述目标IO向所述前置端发送所述通讯指令;其中,所述目标IO为NIO。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述将所述第二报文发送给所述应用端的步骤之前,还包括:
对所述第二报文进行预先设定的日志记录操作。
7.一种数据通讯方法,其特征在于,包括以下步骤:
接收通讯控制端发送的通讯指令;所述通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;所述第一报文由应用端发送;
根据所述通讯指令,将所述第一报文发送给目标业务处理端;
接收所述目标业务处理端返回的第二报文;
将所述第二报文通过所述通讯控制端发送给所述应用端。
8.根据权利要求7所述的方法,其特征在于,所述将所述第一报文发送给所述目标业务处理端的步骤,包括:
将所述第一报文转换成业务报文;
将所述业务报文发送给所述目标业务处理端。
9.一种数据通讯装置,其特征在于,包括:
报文接收模块,用于接收应用端发送的第一报文;所述第一报文携带有特有通讯规约;
信息获取模块,用于根据所述特有通讯规约,确定目标业务处理端;
指令发送模块,用于向前置端发送通讯指令;所述通讯指令,用于控制所述前置端,将所述第一报文发送给所述目标业务处理端并接收所述目标业务处理端返回的第二报文;
第一报文发送模块,用于接收所述前置端返回的第二报文,将所述第二报文发送给所述应用端。
10.一种数据通讯装置,其特征在于,包括:
指令接收模块,用于接收通讯控制端发送的通讯指令;所述通讯指令由通讯控制端根据第一报文携带的特有通讯规约发送;所述第一报文由应用端发送;
处理端确定模块,用于根据所述通讯指令,确定目标业务处理端;
第二报文发送模块,用于将所述第一报文发送给所述目标业务处理端,并接收所述目标业务处理端返回的第二报文;
第三报文发送模块,用于将所述第二报文通过所述通讯控制端发送给所述应用端。
11.一种数据通讯系统,其特征在于,包括:应用端、通讯控制端以及前置端;
所述应用端,用于向所述通讯控制端发送第一报文;所述第一报文携带有特有通讯规约;
所述通讯控制端,用于接收应用端发送的第一报文;根据所述特有通讯规约,确定目标业务处理端;向前置端发送通讯指令;
所述前置端,用于根据所述通讯指令,将所述第一报文发送给所述目标业务处理端,并接收所述目标业务处理端返回的第二报文;
所述通讯控制端,还用于接收所述前置端发送的第二报文,将所述第二报文发送给所述应用端。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的方法的步骤。
CN201910686643.9A 2019-07-29 2019-07-29 数据通讯方法、装置、系统、计算机设备及存储介质 Active CN110611652B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910686643.9A CN110611652B (zh) 2019-07-29 2019-07-29 数据通讯方法、装置、系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910686643.9A CN110611652B (zh) 2019-07-29 2019-07-29 数据通讯方法、装置、系统、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110611652A true CN110611652A (zh) 2019-12-24
CN110611652B CN110611652B (zh) 2020-06-16

Family

ID=68890142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910686643.9A Active CN110611652B (zh) 2019-07-29 2019-07-29 数据通讯方法、装置、系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110611652B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267448A (zh) * 2008-05-09 2008-09-17 东北大学 一种基于嵌入式qnx操作系统的智能规约转换装置及方法
CN101662359A (zh) * 2009-08-17 2010-03-03 珠海市鸿瑞信息技术有限公司 电力专用公网通信数据安全防护方法
CN102810243A (zh) * 2012-08-24 2012-12-05 北京国智恒电力管理科技集团有限公司 基于北斗卫星导航系统技术的用电信息采集方法和系统
CN106707935A (zh) * 2016-12-30 2017-05-24 武汉钢铁工程技术集团自动化有限责任公司 基于主机平台的数据交换监控装置及数据交换监控方法
CN107483592A (zh) * 2017-08-22 2017-12-15 中国银行股份有限公司 一种基于通用前置机的交易处理方法及一种通用前置机

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267448A (zh) * 2008-05-09 2008-09-17 东北大学 一种基于嵌入式qnx操作系统的智能规约转换装置及方法
CN101662359A (zh) * 2009-08-17 2010-03-03 珠海市鸿瑞信息技术有限公司 电力专用公网通信数据安全防护方法
CN102810243A (zh) * 2012-08-24 2012-12-05 北京国智恒电力管理科技集团有限公司 基于北斗卫星导航系统技术的用电信息采集方法和系统
CN106707935A (zh) * 2016-12-30 2017-05-24 武汉钢铁工程技术集团自动化有限责任公司 基于主机平台的数据交换监控装置及数据交换监控方法
CN107483592A (zh) * 2017-08-22 2017-12-15 中国银行股份有限公司 一种基于通用前置机的交易处理方法及一种通用前置机

Also Published As

Publication number Publication date
CN110611652B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN110492984B (zh) 数据传输方法、装置、数据分析处理系统及计算机设备
CN101827302A (zh) 多业务统一处理方法及统一业务平台
CN111552568B (zh) 云服务调用方法和装置
CN107168873B (zh) 一种基于脚本的网络测试系统及方法
CN112685148B (zh) 海量终端的异步通信方法、装置、计算机设备和存储介质
CN102882705A (zh) 终端设备上报日志的方法及日志上报系统
CN111294235A (zh) 数据处理方法、装置、网关及可读存储介质
CN111666145A (zh) 消息队列的消息处理方法、系统和计算机设备
CN213876703U (zh) 一种资源池管理系统
CN104243719A (zh) 移动通信网络中长连接的心跳周期确定方法、系统和装置
CN110611652B (zh) 数据通讯方法、装置、系统、计算机设备及存储介质
CN113360386A (zh) 交换芯片驱动测试方法、装置、电子设备和存储介质
CN112769931A (zh) 一种服务管理平台
KR20080024751A (ko) 임베디드 단말의 OSGi 미들웨어 환경에서 이원화된애플리케이션 관리를 통한 애플리케이션 경량화를 위한장치 및 그 방법
CN113328927A (zh) 一种具有计算、存储和网络交换功能的工业物联网网关
CN111740967A (zh) 一种报文转换发送的方法、系统和电子设备
CN108170512A (zh) 脚本驱动解析方法及装置
CN112911007A (zh) 一种pcdn资源管理系统及pcdn资源管理方法
CN111988310B (zh) 基于iec61850协议的数据获取方法及装置
CN116962523B (zh) 一种数据上传方法、装置、计算机设备及存储介质
CN116232941B (zh) 一种监控设备与广播设备的联动方法、装置及系统
CN110519097B (zh) 弹性伸缩服务触发方法、装置、设备及可读存储介质
CN117311246B (zh) 激光器控制方法、系统、装置、电子设备及存储介质
CN111177977B (zh) 一种能源系统的数据模型构建方法和装置
CN109446254B (zh) 一种高性能iec61850通讯代理的实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant