CN113596155A - 数据处理方法、装置、电子设备和存储介质 - Google Patents
数据处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113596155A CN113596155A CN202110864910.4A CN202110864910A CN113596155A CN 113596155 A CN113596155 A CN 113596155A CN 202110864910 A CN202110864910 A CN 202110864910A CN 113596155 A CN113596155 A CN 113596155A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- special
- complete
- packet
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 30
- 230000006854 communication Effects 0.000 claims abstract description 98
- 238000004891 communication Methods 0.000 claims abstract description 91
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 28
- 230000036541 health Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000011109 contamination Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种数据处理方法、装置、电子设备和存储介质。用于解决数据通信中的数据不完整的问题。本申请实施例中,首先接收医疗设备发送的第一数据包;若第一数据包为不完整数据包,则判断第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;若不能组合成完整数据包,且第一数据包中包含特殊数据头,则清除第二数据包并存储第一数据包,继续接收数据包;若不能组合成完整数据包,且第一数据包中不包含特殊数据头,则存储第一数据包,继续接收数据包;若能组合成完整数据包,则将第一数据包与第二数据包组合成完整数据包,并解析完整数据包,最后根据解析后的数据进行展示。
Description
技术领域
本申请涉及数据通信技术领域,尤其涉及一种数据处理方法、装置、电子设备和存储介质。
背景技术
随着智能医疗技术的发展,套接字(Socket)通讯可以使不同医疗设备的数据在网络中进行通信,在智能医疗领域的应用越来越广泛。针对网络延迟、通信中断对通信造成的数据沾包半包、通信停止等问题,需要开发人员来主动确保通信的完整性和及时性。
对于数据沾包半包的问题,通常采用数据舍弃来进行处理,即只处理正常数据,进而会造成数据完整性的缺失。因此,socket通信中保证数据通信的完整性是十分有必要的。
发明内容
本申请的目的是提供一种数据处理方法、装置、电子设备和存储介质,用于解决数据通信中的数据不完整的问题。
第一方面,本申请实施例提供了一种数据处理方法,包括:
接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包;
若所述第一数据包中包括特殊数据头和/或特殊数据尾,或所述第一数据包中不包括数据头和数据尾,则确定所述数据包为不完整数据包,其中所述特殊数据头为在所述第一数据包中没有对应数据尾的数据头,所述特殊数据尾为在所述第一数据包中没有对应数据头的数据尾;
判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;
若不能组合成完整数据包,且所述第一数据包中包含所述特殊数据头,则清除所述第二数据包并存储所述第一数据包,继续接收数据包;若不能组合成完整数据包,且所述第一数据包中不包含所述特殊数据头,则存储所述第一数据包,继续接收数据包;
若能组合成完整数据包,则将所述第一数据包与所述第二数据包组合成完整数据包,并解析所述完整数据包,根据解析后的数据进行展示。
在本申请实施例中,通过该方法对不完整的数据包进行拼接处理,使不完整的数据包拼接成完整数据包后再进行解析和展示,避免了由于数据不完整而进行舍弃导致的通信过程中的数据的缺失,保证了通信过程中的数据的完整性。
在一些可能的实施例中,所述第二数据包中包含特殊数据头,所述判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包,包括:
确定所述第一数据包中是否包含所述特殊数据尾;
若所述第一数据包中包含所述特殊数据尾,则所述第一数据包与所述第二数据包能组合成所述完整数据包;
若所述第一数据包中不包含所述特殊数据尾,则所述第一数据包与所述第二数据包不能组合成所述完整数据包。
在本申请实施例中,通过确定数据包中是否包含特殊数据头和特殊数据尾来确定数据是否能组合成完整的数据包,采用较简单的方式实现了对数据的拼接处理,节省了数据资源的浪费。
在一些可能的实施例中,所述不完整数据包包括以下中的任一种:
仅含特殊数据头的数据包、仅含特殊数据尾的数据包、不含数据头和数据尾的数据包、包含至少一个完整数据包和一个特殊数据头,包含至少一个完整数据包和一个特殊数据尾,包含至少一个完整数据包和一个特殊数据头和一个特殊数据尾。
在本申请实施例中,针对不同的不完整数据包采用相应的拼接处理方式进行处理,尽可能将所有不完整的数据包拼接成完整的数据包,保证了在数据通信过程中的数据的完整性。
在一些可能的实施例中,接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包之前,所述方法还包括:
采用异步通信的方法与所述医疗设备建立通信链路;
若未检测到用户关闭所述通信链路的操作,且通信中断,则向所述医疗设备发送重连信号,基于所述重连信号与所述医疗设备重新建立所述通信链路。
在本申请实施例中,采用异步通信的方式进行通信,避免了页面的卡顿、假死,且在通信中断时,自动重连,节省了人力资源。
在一些可能的实施例中,所述采用异步通信的方法与所述医疗设备建立通信链路之后,所述方法还包括:
检测到用户关闭所述通信链路的操作,响应于所述操作,关闭所述通信链路。
在本申请实施例中,根据用户的关闭操作关闭通信链路,增加了用户的体验感。
在一些可能的实施例中,确定所述通信中断,包括:
在预设时长内,未向所述医疗设备发送心跳包,则确定与所述医疗设备通信中断。
在本申请实施例中,通过发送心跳包的方式确定与医疗设备的通信是否中断,可以实时的确定当前与医疗设备的通信状态,保证了通信的实时性。
第二方面本申请还提供了一种数据处理装置,所述装置包括:
接收模块,用于接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包;
数据包确认模块,用于若所述第一数据包中包括特殊数据头和/或特殊数据尾,或所述第一数据包中不包括数据头和数据尾,则确定所述数据包为不完整数据包,其中所述特殊数据头为在所述第一数据包中没有对应数据尾的数据头,所述特殊数据尾为在所述第一数据包中没有对应数据头的数据尾;
判断模块,用于判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;
第一组合模块,用于若不能组合成完整数据包,且所述第一数据包中包含所述特殊数据头,则清除所述第二数据包并存储所述第一数据包,继续接收数据包;若不能组合成完整数据包,且所述第一数据包中不包含所述特殊数据头,则存储所述第一数据包,继续接收数据包;
第二组合模块,用于若能组合成完整数据包,则将所述第一数据包与所述第二数据包组合成完整数据包,并解析所述完整数据包,根据解析后的数据进行展示。
在一些可能的实施例中,第二数据包中包含特殊数据头,执行所述判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包时,所述判断模块具体用于:
确定所述第一数据包中是否包含所述特殊数据尾;
若所述第一数据包中包含所述特殊数据尾,则所述第一数据包与所述第二数据包能组合成所述完整数据包;
若所述第一数据包中不包含所述特殊数据尾,则所述第一数据包与所述第二数据包不能组合成所述完整数据包。
在一些可能的实施例中,所述不完整数据包包括以下中的任一种:
仅含特殊数据头的数据包、仅含特殊数据尾的数据包、不含数据头和数据尾的数据包、包含至少一个完整数据包和一个特殊数据头,包含至少一个完整数据包和一个特殊数据尾,包含至少一个完整数据包和一个特殊数据头和一个特殊数据尾。
在一些可能的实施例中,接收模块执行接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包之前,所述装置还包括:
通信建立模块,用于采用异步通信的方法与所述医疗设备建立通信链路;
重发模块,用于若未检测到用户关闭所述通信链路的操作,且通信中断,则向所述医疗设备发送重连信号,基于所述重连信号与所述医疗设备重新建立所述通信链路。
在一些可能的实施例中,通信建立模块执行采用异步通信的方法与所述医疗设备建立通信链路之后,所述装置还包括:
检测到用户关闭所述通信链路的操作,响应于所述操作,关闭所述通信链路。
在一些可能的实施例中,确定所述通信中断,包括:
在预设时长内,未向所述医疗设备发送心跳包,则确定与所述医疗设备通信中断。
第三方面,本申请另一实施例还提供了一种电子设备,其中,所述电子设备包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面实施例提供的任一方法。
第四方面,本申请另一实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行本申请第一方面实施例提供的任一方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据处理方法的应用场景图;
图2A为本申请实施例提供的数据处理方法的整体流程图;
图2B为本申请实施例提供的数据处理方法的半包、沾包示意图;
图3A为本申请实施例提供的数据处理方法的确定第一数据包与第二数据包是否能组合成完整数据包的示意图;
图3B为本申请实施例提供的数据处理方法的第一数据包与第二数据包进行组合的示意图;
图3C为本申请实施例提供的数据处理方法的第一数据包与第二数据包进行组合的示意图;
图3D为本申请实施例提供的数据处理方法的确定第一数据包是否包含数据头的示意图;
图3E为本申请实施例提供的数据处理方法的第一数据包是否包含数据头的两种处理方法示意图;
图4为本申请实施例提供的数据处理方法的整体流程图;
图5为本申请实施例提供的数据处理方法的装置示意图;
图6为本申请实施例提供的数据处理方法的电子设备示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
发明人研究发现,随着智能医疗技术的发展,Socket通讯可以使不同医疗设备的数据在网络中进行通信,在智能医疗领域的应用越来越广泛。针对网络延迟、通信中断对通信造成的数据沾包半包、通信停止等问题,需要开发人员来主动确保通信的完整性和及时性。
对于数据沾包半包的问题,通常采用数据舍弃来进行处理,即只处理正常数据,进而会造成数据完整性的缺失。因此,socket通信中保证数据通信的完整性是十分有必要的。
有鉴于此,本申请提出了一种数据处理方法、装置、电子设备和存储介质,用于解决上述问题。本申请的发明构思可概括为:首先接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包;若第一数据包中包括特殊数据头和/或特殊数据尾,或第一数据包中不包括数据头和数据尾,则确定数据包为不完整数据包;然后判断第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;若不能组合成完整数据包,且第一数据包中包含特殊数据头,则清除第二数据包并存储第一数据包,继续接收数据包;若不能组合成完整数据包,且第一数据包中不包含特殊数据头,则存储第一数据包,继续接收数据包;若能组合成完整数据包,则将第一数据包与第二数据包组合成完整数据包,并解析完整数据包,最后根据解析后的数据进行展示。
如图1所示,为本申请实施例中的数据处理方法的应用场景图。图中包括:网络10、医疗设备20、存储器30、终端设备40;其中:终端设备40接收医疗设备20发送的符合卫生信息交互HL7协议的第一数据包;若第一数据包中包括特殊数据头和/或特殊数据尾,或第一数据包中不包括数据头和数据尾,则确定数据包为不完整数据包,其中特殊数据头为在第一数据包中没有对应数据尾的数据头,特殊数据尾为在第一数据包中没有对应数据头的数据尾;终端设备40判断第一数据包与存储器30存储的之前收到的不完整的第二数据包是否能组合成完整数据包;若不能组合成完整数据包,且第一数据包中包含特殊数据头,则清除第二数据包并存储第一数据包,继续接收数据包;若不能组合成完整数据包,且第一数据包中不包含特殊数据头,则存储第一数据包,继续接收数据包;若能组合成完整数据包,则将第一数据包与第二数据包组合成完整数据包,并解析完整数据包,根据解析后的数据进行展示。
在另一实施例中,可以由终端设备40存储之前收到的不完整的第二数据包和第一数据包。
本申请中的描述中仅就单个服务器或终端设备加以详述,但是本领域技术人员应当理解的是,示出的终端设备40、服务器20和存储器30旨在表示本申请的技术方案涉及的终端设备、服务器以及存储器的操作。对单个服务器和存储器加以详述至少为了说明方便,而非暗示对终端设备和服务器的数量、类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本申请的示例实施例的底层概念。另外,虽然为了方便说明而在图1中示出了从存储器30到终端设备40的双向箭头,但本领域技术人员可以理解的是,上述数据的收发也是需要通过网络10实现的。
需要说明的是,本申请实施例中的存储器例如可以是缓存系统、也可以是硬盘存储、内存存储等等。此外,本申请提出的数据处理方法不仅适用于图1所示的应用场景,还适用于任何有数据处理需求的装置。
为了便于理解本申请实施例提出的数据处理方法,下面结合附图对本申请实施例提供的数据处理方法进行详细说明。
如图2A所示,为本申请实施例提供的数据处理方法包括以下步骤:
步骤201中:接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包;
步骤202中:判断第一数据包中是否包括特殊数据头和/或特殊数据尾,或第一数据包中不包括数据头和数据尾;若是,则进入步骤203中,若否则进入步骤204中;
步骤203中:判断第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;若是则进入步骤205中,若否,则进入步骤206中;
步骤204中:解析完整数据包,根据解析后的数据进行展示;
步骤205中:将第一数据包与第二数据包组合成完整数据包;
步骤206中:判断第一数据包是否包含特殊数据头,若包含,则进入步骤207中,若不包含则进入步骤208中;
步骤207中:清除第二数据包并存储第一数据包,继续接收数据包;
步骤208中:存储第一数据包,继续接收数据包。
在一些实施例中,为了确定数据包是否是完整数据包,所以本申请中在数据包中标记了数据头和数据尾,即每个完整数据包均包含数据头和数据尾;为了便于区分完整数据包和不完整数据包,所以本申请实施例中设置了特殊数据头和特殊数据尾,其中:特殊数据头为在数据包中没有对应数据尾的数据头,特殊数据尾为在数据包中没有对应数据头的数据尾。因此,本申请中的不完整数据包包含以下中的任一种:仅含特殊数据头的数据包、仅含特殊数据尾的数据包、不含数据头和数据尾的数据包、包含至少一个完整数据包和一个特殊数据头,包含至少一个完整数据包和一个特殊数据尾,包含至少一个完整数据包和一个特殊数据头和一个特殊数据尾。
通过设置数据头和数据尾的方式确定数据包的完整性,方法简单易实现,进而可以节约数据处理的资源。
在本申请实施例中,如图2B所示,数据包依序由医疗设备发往终端设备,终端设备接收到第一个不完整数据包时可能为沾包,也可能为半包,其中沾包为n个完整数据包+一个缺失部分数据的数据包。半包为缺失部分数据的数据包。
在终端设备接收到第一个不完整数据包为沾包时,对该沾包中的完整数据包进行解析并进行显示,并对缺失部分数据的数据包进行拼接处理,该缺失部分数据的数据包为包含特殊数据头的第二数据包;由于第二数据包仅包含数据尾,所以继续接收数据包时,接收的数据包为该第二数据包对应的缺失部分的数据包(半包),或第二数据包对应的缺失部分的数据包+其他完整数据包(沾包),记为第一数据包;确定第一数据包与第二数据包是否能组合成完整数据包时,可实施为如图3A所示的步骤:
步骤301中:确定第一数据包中是否包含特殊数据尾;
步骤302中:若第一数据包中包含特殊数据尾,则第一数据包与第二数据包能组合成完整数据包;
步骤303中:若第一数据包中不包含特殊数据尾,则第一数据包与第二数据包不能组合成完整数据包。
例如:如图3B所示,存储的第二数据包为带有特殊数据头和二分之一的A数据包的数据包,第一数据包为携带有四分之一的A数据包的数据包,则该第一数据包和第二数据包不能组合成完整数据包;如图3C所示,若第二数据包为带有特殊数据头和二分之一的A数据包的数据包,第一数据包为携带有二分之一的A数据包和特殊数据尾的数据包,则该第一数据包和第二数据包能组合成完整数据包。
在本申请实施例中,在确定第一数据包中是否包含特殊数据尾之前,为了节省后续步骤,可以先通过确定第一数据包中是否包含数据头来确定第一数据包是否可以与第二数据包进行组合,具体可实施为如图3D所示的步骤:
在步骤301’中:确定第一数据包中是否包含数据头;
在步骤302’中:若包含数据头,则清除第二数据包,并存储第一数据包;
在步骤303’中:若不包含数据头,则确定第一数据包与第二数据包是否能组合成完整数据包。
例如:如图3E所示,第一数据包中可能包含数据头,即第二数据包为携带有数据头和二分之一A数据包的数据包,继续接收的第一数据包为携带有数据头和四分之一B数据包的数据包,则此时证明,A数据包的剩余部分在医疗设备发送数据时发生了数据丢失,则此时将第二数据包清除,存储第一数据包。
当然需要知道的是,本申请对图3D和图3A的执行顺序不作限定,即:可以先判断第一数据包是否包含数据尾,也可先判断第一数据包是否包含数据头。
在一些实施例中,若第一数据包和第二数据包不能组合成完整数据包,且第一数据包中不包含数据头时,则可继续接收数据包,即:存储的第二数据包为带有特殊数据头和二分之一的A数据包的数据包,第一数据包为携带有四分之一的A数据包的数据包,则该第一数据包和第二数据包不能组合成完整数据包,继续接收第三数据包,第三数据包为携带四分之一的A数据包和特殊数据尾的数据包,则此时将第一数据包、第二数据包、第三数据包进行组合,组合成完整数据包然后再进行解析。
在本申请实施例中,为了确定终端设备接收的数据包与医疗设备发送的数据包是否一致,所以在对数据进行解析展示之后,需要确定终端设备展示的数据与医疗设备展示的数据是否一致;若不一致的话,由管理人员检查不一致的原因,若是解析过程中导致的不一致,则由管理人员更新解析过程的代码;若是组合成完整数据包时导致的不一致,则由管理人员更新组合成完整数据包时的代码。通过该方法校验数据,保证了数据在传输过程中的一致性。
在另一实施例中,本申请为了避免显示界面的卡顿和假死,所以在通信过程中,采用异步通信的方法与医疗设备建立通信链路;同时为了保证通信的实时性,避免通信中断后人工恢复通信,所以在通信过程中若未检测到用户关闭通信链路的操作,且通信中断,则向医疗设备发送重连信号,基于重连信号与医疗设备重新建立通信链路。若检测到用户关闭通信链路的操作,响应于操作,关闭通信链路。
在本申请实施例中,为了及时检测到通信中断并及时恢复通信,所以采用终端设备向医疗设备发送心跳包的方式,在预设时长内,未向医疗设备发送心跳包,则确定终端设备与医疗设备通信中断。
通过上述方法可以及时的确定通信中断并及时恢复通信,且采用异步通信的方式,避免了页面的卡顿假死。
为了便于理解,下面对本申请实施例提供的数据处理方法的整体流程进行说明,如图4所示:
步骤401中:采用异步通信的方法与医疗设备建立通信链路;
步骤402中:接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包;
步骤403中:确定第一数据包是否为完整数据包,若为完整数据包则进入步骤404,若为不完整数据包,则进入步骤405中;
步骤404中:对数据包进行组合并解析,显示;
步骤405中:判断第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;若能组合成完整数据包,则进入步骤404,若不能组合成完整数据包,则进入步骤406中;
步骤406中:确定第一数据包中是否包含特殊数据头,若包含则进入步骤407,若不包含,则进入步骤408中;
步骤407中:清除第二数据包并存储第一数据包,继续接收数据包,进入步骤402;
步骤408中:存储第一数据包,继续接收数据包,进入步骤402。
在本申请实施例中,通过上述数据处理方法,通过该方法对不完整的数据包进行拼接处理,使不完整的数据包拼接成完整数据包后再进行解析和展示,避免了由于数据不完整而进行舍弃导致的通信过程中的数据的缺失,保证了通信过程中的数据的完整性。
在介绍了本申请示例性实施方式的数据处理方法之后,接下来,介绍根据本申请的另一示例性实施方式的数据处理装置。如图5所示,所述装置包括:
接收模块5001,用于接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包;
数据包确认模块5002,用于若所述第一数据包中包括特殊数据头和/或特殊数据尾,或所述第一数据包中不包括数据头和数据尾,则确定所述数据包为不完整数据包,其中所述特殊数据头为在所述第一数据包中没有对应数据尾的数据头,所述特殊数据尾为在所述第一数据包中没有对应数据头的数据尾;
判断模块5003,用于判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;
第一组合模块5004,用于若不能组合成完整数据包,且所述第一数据包中包含所述特殊数据头,则清除所述第二数据包并存储所述第一数据包,继续接收数据包;若不能组合成完整数据包,且所述第一数据包中不包含所述特殊数据头,则存储所述第一数据包,继续接收数据包;
第二组合模块5005,用于若能组合成完整数据包,则将所述第一数据包与所述第二数据包组合成完整数据包,并解析所述完整数据包,根据解析后的数据进行展示。
在一些可能的实施例中,第二数据包中包含特殊数据头,执行所述判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包时,所述判断模块5003具体用于:
确定所述第一数据包中是否包含所述特殊数据尾;
若所述第一数据包中包含所述特殊数据尾,则所述第一数据包与所述第二数据包能组合成所述完整数据包;
若所述第一数据包中不包含所述特殊数据尾,则所述第一数据包与所述第二数据包不能组合成所述完整数据包。
在一些可能的实施例中,所述不完整数据包包括以下中的任一种:
仅含特殊数据头的数据包、仅含特殊数据尾的数据包、不含数据头和数据尾的数据包、包含至少一个完整数据包和一个特殊数据头,包含至少一个完整数据包和一个特殊数据尾,包含至少一个完整数据包和一个特殊数据头和一个特殊数据尾。
在一些可能的实施例中,接收模块执行接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包之前,所述装置还包括:
通信建立模块,用于采用异步通信的方法与所述医疗设备建立通信链路;
重发模块,用于若未检测到用户关闭所述通信链路的操作,且通信中断,则向所述医疗设备发送重连信号,基于所述重连信号与所述医疗设备重新建立所述通信链路。
在一些可能的实施例中,通信建立模块执行采用异步通信的方法与所述医疗设备建立通信链路之后,所述装置还包括:
检测到用户关闭所述通信链路的操作,响应于所述操作,关闭所述通信链路。
在一些可能的实施例中,确定所述通信中断,包括:
在预设时长内,未向所述医疗设备发送心跳包,则确定与所述医疗设备通信中断。
在介绍了本申请示例性实施方式的数据处理方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的数据处理方法中的步骤。
下面参照图6来描述根据本申请的这种实施方式的电子设备130。图6显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的一种数据处理x方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种数据处理方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于数据处理的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包;
若所述第一数据包中包括特殊数据头和/或特殊数据尾,或所述第一数据包中不包括数据头和数据尾,则确定所述数据包为不完整数据包,其中所述特殊数据头为在所述第一数据包中没有对应数据尾的数据头,所述特殊数据尾为在所述第一数据包中没有对应数据头的数据尾;
判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;
若不能组合成完整数据包,且所述第一数据包中包含所述特殊数据头,则清除所述第二数据包并存储所述第一数据包,继续接收数据包;若不能组合成完整数据包,且所述第一数据包中不包含所述特殊数据头,则存储所述第一数据包,继续接收数据包;
若能组合成完整数据包,则将所述第一数据包与所述第二数据包组合成完整数据包,并解析所述完整数据包,根据解析后的数据进行展示。
2.根据权利要求1所述的方法,其特征在于,所述第二数据包中包含特殊数据头,所述判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包,包括:
确定所述第一数据包中是否包含所述特殊数据尾;
若所述第一数据包中包含所述特殊数据尾,则所述第一数据包与所述第二数据包能组合成所述完整数据包;
若所述第一数据包中不包含所述特殊数据尾,则所述第一数据包与所述第二数据包不能组合成所述完整数据包。
3.根据权利要求1所述的方法,其特征在于,所述不完整数据包包括以下中的任一种:
仅含特殊数据头的数据包、仅含特殊数据尾的数据包、不含数据头和数据尾的数据包、包含至少一个完整数据包和一个特殊数据头,包含至少一个完整数据包和一个特殊数据尾,包含至少一个完整数据包和一个特殊数据头和一个特殊数据尾。
4.根据权利要求1所述的方法,其特征在于,接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包之前,所述方法还包括:
采用异步通信的方法与所述医疗设备建立通信链路;
若未检测到用户关闭所述通信链路的操作,且通信中断,则向所述医疗设备发送重连信号,基于所述重连信号与所述医疗设备重新建立所述通信链路。
5.根据权利要求4所述的方法,其特征在于,所述采用异步通信的方法与所述医疗设备建立通信链路之后,所述方法还包括:
检测到用户关闭所述通信链路的操作,响应于所述操作,关闭所述通信链路。
6.根据权利要求4所述的方法,其特征在于,确定所述通信中断,包括:
在预设时长内,未成功向所述医疗设备发送心跳包,则确定与所述医疗设备通信中断。
7.一种数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收医疗设备发送的符合卫生信息交互HL7协议的第一数据包;
数据包确认模块,用于若所述第一数据包中包括特殊数据头和/或特殊数据尾,或所述第一数据包中不包括数据头和数据尾,则确定所述数据包为不完整数据包,其中所述特殊数据头为在所述第一数据包中没有对应数据尾的数据头,所述特殊数据尾为在所述第一数据包中没有对应数据头的数据尾;
判断模块,用于判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包;
第一组合模块,用于若不能组合成完整数据包,且所述第一数据包中包含所述特殊数据头,则清除所述第二数据包并存储所述第一数据包,继续接收数据包;若不能组合成完整数据包,且所述第一数据包中不包含所述特殊数据头,则存储所述第一数据包,继续接收数据包;
第二组合模块,用于若能组合成完整数据包,则将所述第一数据包与所述第二数据包组合成完整数据包,并解析所述完整数据包,根据解析后的数据进行展示。
8.根据权利要求7所述的装置,其特征在于,所述第二数据包中包含特殊数据头,执行所述判断所述第一数据包与存储的之前收到的不完整的第二数据包是否能组合成完整数据包时,所述判断模块具体用于:
确定所述第一数据包中是否包含所述特殊数据尾;
若所述第一数据包中包含所述特殊数据尾,则所述第一数据包与所述第二数据包能组合成所述完整数据包;
若所述第一数据包中不包含所述特殊数据尾,则所述第一数据包与所述第二数据包不能组合成所述完整数据包。
9.一种电子设备,其特征在于,所述电子设备包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6任何一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行权利要求1-6任何一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110864910.4A CN113596155A (zh) | 2021-07-29 | 2021-07-29 | 数据处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110864910.4A CN113596155A (zh) | 2021-07-29 | 2021-07-29 | 数据处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113596155A true CN113596155A (zh) | 2021-11-02 |
Family
ID=78251891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110864910.4A Pending CN113596155A (zh) | 2021-07-29 | 2021-07-29 | 数据处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596155A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794697A (zh) * | 2005-12-23 | 2006-06-28 | 润欣通信技术(上海)有限公司 | 以太网无源光网络上行链路数据分组传输的方法 |
JP2013201529A (ja) * | 2012-03-23 | 2013-10-03 | Nec Infrontia Corp | 通信システム、通信方法、及び通信プログラム |
CN103532668A (zh) * | 2013-10-12 | 2014-01-22 | 成都阜特科技股份有限公司 | 一种确保tcp通信数据完整及正确的方法 |
CN108268238A (zh) * | 2018-01-24 | 2018-07-10 | 深圳市风云实业有限公司 | 数据处理方法、装置、计算机存储介质及fifo设备 |
CN110971387A (zh) * | 2019-12-10 | 2020-04-07 | 上海邦邦机器人有限公司 | 一种数据传输处理方法、发送设备和接收设备 |
CN111478864A (zh) * | 2020-03-06 | 2020-07-31 | 视联动力信息技术股份有限公司 | 数据包的处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-07-29 CN CN202110864910.4A patent/CN113596155A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794697A (zh) * | 2005-12-23 | 2006-06-28 | 润欣通信技术(上海)有限公司 | 以太网无源光网络上行链路数据分组传输的方法 |
JP2013201529A (ja) * | 2012-03-23 | 2013-10-03 | Nec Infrontia Corp | 通信システム、通信方法、及び通信プログラム |
CN103532668A (zh) * | 2013-10-12 | 2014-01-22 | 成都阜特科技股份有限公司 | 一种确保tcp通信数据完整及正确的方法 |
CN108268238A (zh) * | 2018-01-24 | 2018-07-10 | 深圳市风云实业有限公司 | 数据处理方法、装置、计算机存储介质及fifo设备 |
CN110971387A (zh) * | 2019-12-10 | 2020-04-07 | 上海邦邦机器人有限公司 | 一种数据传输处理方法、发送设备和接收设备 |
CN111478864A (zh) * | 2020-03-06 | 2020-07-31 | 视联动力信息技术股份有限公司 | 数据包的处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107294808B (zh) | 接口测试的方法、装置和系统 | |
US8140688B2 (en) | Method and system for establishing connections between nodes in a communication network | |
US9015317B2 (en) | Conducting a diagnostic session for monitored business transactions | |
CN107370806B (zh) | Http状态码监控方法、装置、存储介质和电子设备 | |
KR20060094861A (ko) | 원격 디버깅 동작을 용이하게 하는 시스템 및 방법 | |
CN110971922B (zh) | 直播连麦状态监控方法、客户端、服务器、介质及系统 | |
US20150003457A1 (en) | Information processing apparatus and route setting method | |
CN111953568B (zh) | 丢包信息管理方法与装置 | |
CN109962827B (zh) | 设备链路检测方法、装置、设备及可读存储介质 | |
CN111711680A (zh) | 基于udp协议的文件断点续传方法及装置 | |
CN110768840A (zh) | 通信设备的控制方法、装置、设备及存储介质 | |
CN111954240A (zh) | 网络故障处理方法、装置及电子设备 | |
WO2021134418A1 (zh) | 一种数据校验方法及装置 | |
CN113596155A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
WO2015176516A1 (zh) | 一种业务流程的跟踪方法及装置 | |
CN113055291B (zh) | 一种数据包发送方法、路由器、数据包传输系统 | |
US20110161741A1 (en) | Topology based correlation of threshold crossing alarms | |
CN113852610B (zh) | 报文处理方法、装置、计算机设备和存储介质 | |
CN114338477A (zh) | 一种通信链路监控方法、装置、设备及存储介质 | |
CN114401127A (zh) | 一种基于ZeroMQ的数据包传输方法、装置及设备 | |
CN108289165A (zh) | 一种基于手机控制相机的实现方法、装置及终端设备 | |
CN103825683A (zh) | 基于tcp重传机制的内核代理方法及装置 | |
CN114244700A (zh) | 端口处理方法及装置、电子设备和计算机可读存储介质 | |
WO2023241484A1 (zh) | 异常事件处理方法、电子设备及存储介质 | |
CN108228453A (zh) | Ios手机应用程序的调试方法及装置 |
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 |