CN113824777B - 数据管理方法和数据管理装置 - Google Patents

数据管理方法和数据管理装置 Download PDF

Info

Publication number
CN113824777B
CN113824777B CN202111038659.2A CN202111038659A CN113824777B CN 113824777 B CN113824777 B CN 113824777B CN 202111038659 A CN202111038659 A CN 202111038659A CN 113824777 B CN113824777 B CN 113824777B
Authority
CN
China
Prior art keywords
data
parameter
parameters
target data
buffer
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.)
Active
Application number
CN202111038659.2A
Other languages
English (en)
Other versions
CN113824777A (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.)
Wuhan Zhongke Tongda High New Technology Co Ltd
Original Assignee
Wuhan Zhongke Tongda High New Technology 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 Wuhan Zhongke Tongda High New Technology Co Ltd filed Critical Wuhan Zhongke Tongda High New Technology Co Ltd
Priority to CN202111038659.2A priority Critical patent/CN113824777B/zh
Publication of CN113824777A publication Critical patent/CN113824777A/zh
Application granted granted Critical
Publication of CN113824777B publication Critical patent/CN113824777B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • 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

Abstract

本申请提供一种数据管理方法和数据管理装置;通过该数据管理方法提供了一种灵活的发包方法和调度策略,使得业务服务在和多个第三方媒体服务器的数据交互中,能够聚焦于业务层,实现业务层和复杂网络逻辑层的解耦,业务层仅需要将数据推送到逻辑层的消息队列中即可,由逻辑层完成对数据的封装,包括:确定网络状态、发送顺序、缓冲状态等参数,并根据网络状态自行调度,在网络正常的情况下,配合头部设计,自动处理粘贴包情况发包,出现网络拥塞的情况下,停止对内核的频繁唤醒,网络拥塞结束后,自行恢复内核调度,完成数据的正常发送。

Description

数据管理方法和数据管理装置
技术领域
本申请涉及智慧交通技术领域,尤其是涉及一种数据管理方法和数据管理装置。
背景技术
在数据的传输过程中,需要采用TCP(Transmission Control Protocol,控制传输协议)进行RTP((Real-time Transport Protocol,实时传输协议)数据包的传输,且在对数据的分发过程中,需要采用RTP OVER TCP(RTP基于TCP传输)的方式进行数据的传输。现有TCP数据发送过程包括同步传输和异步传输两种方式,同步传输指为每个第三方媒体服务器开辟线程,但在第三方媒体服务器较多时,会导致需要开辟的线程较多,数据传输的效率较低;异步传输的方式指每次需要传输数据将内核唤醒进行通知,然后传输数据,但在数据较多时,需要频繁的唤醒内核进行通知,该方式虽然相较于同步传输的方式提高了数据传输效率,但由于需要频繁导致数据传输的效率仍然较低。
所以,现有数据分发过程中存在需要频繁唤醒内核进行通知导致数据传输效率较低的技术问题。
发明内容
本申请实施例提供一种数据管理分发和数据管理装置,用以缓解现有数据分发过程中存在需要频繁唤醒内核进行通知导致数据传输效率较低的技术问题。
本申请实施例提供一种数据管理方法,该数据管理方法应用于交警系统,所述交警系统包括数据服务器和至少两个第三方媒体服务器,所述数据管理方法包括:
所述数据服务器接收至少两个第三方媒体服务器发送的数据查看请求;
根据所述数据查看请求,获取所述数据查看请求对应的初始数据;
对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包头数据包括数据量参数、网络参数和连接参数;
在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区;
从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
同时,本申请实施例提供一种数据管理装置,该数据管理装置应用于交警系统,所述交警系统包括数据服务器和至少两个第三方媒体服务器,所述数据管理装置包括:
接收模块,用于接收至少两个第三方媒体服务器发送的数据查看请求;
获取模块,用于根据所述数据查看请求,获取所述数据查看请求对应的初始数据;
第一发送模块,用于对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包头数据包括数据量参数、网络参数和连接参数;
第二发送模块,用于在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区;
第三发送模块,用于从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
同时,本申请实施例提供一种数据服务器,所述数据服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行程序时实现上述数据管理方法中的步骤。
同时,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有多条指令,指令适于处理器进行加载,以执行上述数据管理方法中的步骤。
有益效果:本申请实施例提供一种数据管理方法和数据管理装置;该数据管理方法应用于交警系统,该交警系统包括数据服务器和至少两个第三方媒体服务器,该数据管理方法包括接收至少两个第三方媒体服务器发送的数据查看请求,然后根据数据查看请求,获取数据查看请求对应的初始数据,然后对初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将目标数据发送至消息队列,然后在网络参数与全局参数相等时,根据连接参数、数据量参数,从消息队列中提取目标数据并发送至缓冲区,然后从缓冲区中提取目标数据,并将目标数据发送至第三方媒体服务器。本申请提供了一种灵活的发包方法和调度策略,使得业务服务在和多个第三方媒体服务器的数据交互中,能够聚焦于业务层,实现业务层和复杂网络逻辑层的解耦,业务层仅需要将数据推送到逻辑层的消息队列中即可,由逻辑层完成对数据的封装,包括:确定网络状态、发送顺序、缓冲状态等参数,并根据网络状态自行调度,在网络正常的情况下,配合头部设计,自动处理粘贴包情况发包,出现网络拥塞的情况下,停止对内核的频繁唤醒,网络拥塞结束后,自行恢复内核调度,完成数据的正常发送。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的智慧交通系统的场景示意图。
图2为本申请实施例提供的数据管理方法的流程图。
图3为本申请实施例中的目标数据的结构示意图。
图4为本申请实施例提供的数据管理装置的结构示意图。
图5为本申请实施例提供的数据服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的智慧交通系统的场景示意图,该系统可以包括前端设备11与数据服务器12通过网络或者网关连接通信、数据服务器12与第三方媒体服务器13通过网络或者网关连接通信,不再赘述,其中:
前端设备11包括但不局限于嵌入式高清摄像机、工控机、高清相机等,用于对通过前端设备的车辆、行人进行数据采集,数据采集包括但不局限于对车辆的车牌号码(号码可以是假牌或者套牌)、车牌类型(私家车的蓝底车牌、货车的黄底车牌等)、行人的违法行为。
数据服务器12包括本地服务器和/或远程服务器。
数据服务器12接收至少两个第三方媒体服务器发送的数据查看请求;根据所述数据查看请求,获取所述数据查看请求对应的初始数据;对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包头数据包括数据量参数、网络参数和连接参数;在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区;从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
需要说明的是,图1所示的系统场景示意图是一个示例,本申请实施例描述的服务器以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样使用,以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
图2为本申请实施例提供的数据管理方法的流程示意图,请参阅图2,该数据管理方法包括以下步骤:
201:数据服务器接收至少两个第三方媒体服务器发送的数据查看请求。
在本申请实施例中,以第三方媒体服务器与数据服务器进行交互为例进行说明,但在请求数据时,不限于第三方媒体服务器,还可以为用户终端对数据的请求、网页端对数据的请求,用户终端包括但不限于移动终端、个人计算机、笔记本电脑。
在一种实施例中,在第三方媒体服务需要查看智慧交通领域的数据时,会向数据服务器发送数据查看请求,以使得数据服务器根据数据查看请求返回数据至第三方媒体服务器。
在一种实施例中,数据查看请求可以携带第三方媒体服务器的标识或者IP地址等信息,以确定对应的第三方媒体服务器的身份信息,便于后续返回数据;同时,数据查看请求携带请求的数据的标识,以确定需要返回的数据。上述标识可以为数字、汉字、字母、特殊符号等字符组成。
202:根据所述数据查看请求,获取所述数据查看请求对应的初始数据。
在一种实施例中,在接收到数据查看请求后,根据数据查看请求中的数据标识,获取对应的初始数据,以对初始数据进行处理后发送至第三方服务器。
在一种实施例中,初始数据包括从前端设备获取的数据、存储在服务器中的数据,即在接收到数据查看请求后,可以是数据服务器与前端设备通信后从前端设备获取到数据,还可以在数据服务器在接收到数据查看请求后,从服务器中获取到数据。
具体的,初始数据包括实时监控视频流和历史数据,实时监控视频流包括前端设备、例如高清摄像机拍摄的视频,该实时监控视频流包括对通过前端设备的车辆的实时监控、对通过前端设备的行人的实时监控,同时,在实时监控视频流中,可以记录对应的时间、对应前端设备的地址的信息,便于在实时监控视频流中出现违法行为时,可以对违法行为发生的时间、地址进行对应的记录,以便于后续处理违法行为时可以依据对应的记录进行处理;历史数据包括对历史视频流进行处理后的以文本、视频、表格等方式存储的数据。
203:对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包体数据包括数据量参数、网络参数和连接参数。
针对现有直接对初始数据进行发送,需要在发送过程中进行检测网络、服务器和第三方媒体服务器之间的连接状态、数据是否发送完成等过程,需要频繁唤醒内核进行通知后进行发送,导致数据的传输过程效率较低。在本申请实施例中,在获取到初始数据后,对初始数据进行处理后得到包含包头数据和包体数据的目标数据,通过目标数据中的各参数或者数据来检测数据发送中的网络状态、连接状态,监测数据发送过程,从而无需频繁唤醒内核进行通过,且数据可以根据消息队列的顺序进行发送,无需在向一个第三方媒体服务器发送完毕后,唤醒内核通知进行下一第三方媒体服务器的发送过程,提高数据传输的效率。
在一种实施例中,包头数据指携带有包体数据的信息、检测网络状态的信息、检测连接状态的信息的数据,在数据发送过程中,通过包头数据确定网络信息、缓存信息、连接信息、发送过程是否完成、发送中断后重新发送的位置等信息,从而使得数据可以自动进行传输,无需对数据发送进行监测,频繁唤醒内核。
在一种实施例中,包体数据指数据的具体内容,例如某一视频的具体内容。
在本申请实施例中,在以TCP传输RTP数据包时,会将RTP数据包控制在1500字节内,因此,在本申请实施例,根据初始数据得到包含包头数据和包体数据的目标数据时,会使初始数据对应的多个目标数据保持在1500字节内,并根据各目标数据的顺序进行发送,避免出现乱序影响播放等问题。
在一种实施例中,数据量参数指表示该包体数据的数据量的信息的参数,例如某一包体数据的长度为1000字节,则数据量参数可以为1000,可以根据数据量参数判断该目标数据是否发送完毕。
在一种实施例中,网络参数指数据服务器自身的网络状态、数据服务器与前端设备的通信的网络状态、数据服务器与第三方媒体服务器通信的网络状态,通过网络参数可以判断网络状态,从而做出相应的反应。
在一种实施例中,连接参数指表征数据服务器与第三方媒体服务器对接状态的参数,例如数据是否能够发送,已发送数据,待发送数据,根据连接参数来对接数据服务器和第三方媒体服务器,从而对数据进行发送。
在一种实施例中,所述对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列的步骤,包括:对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据;所述目标数据包括数据标识;根据所述目标数据的数据标识,确定多个目标数据的排序;根据各目标数据的排序,将所述目标数据发送至消息队列,并对所述消息队列加锁。通过对目标数据进行排序,并对消息队列加锁,使得在后续数据的发送过程中,避免数据出现乱序发送的问题。
针对网络参数和全局参数不相等时,数据发送过程会出现乱序问题。在一种实施例中,在所述对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列的步骤之后,还包括:在所述网络参数与全局参数不相等时,等待网络连接,获取所述消息队列的锁;在所述网络参数与所述全局参数相等时,根据所述消息队列的锁、连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区。通过获取消息队列的锁,使得在网络连接后,可以根据消息队列的锁确定发送的目标数据的位置,然后按顺序将目标数据发送至缓冲区。
204:在所述网络参数和全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区。
在一种实施例中,在数据发送前,首先需要保证网络连接正常,所以在包头数据中设置网络参数,并设置一个全局参数,该全局参数与网络状态相关,在网络状态出现变化时,该全局参数会变化,从而判断网络是否断开。例如设置全局参数为某一固定值m,则各数据也会设置一个数值为m的网络参数,然后在数据发送前先比较网络参数和全局参数,从而判断网络是否断开,例如全局参数的变化是网络断开后,全局参数会变为m+1,则此时可以判断网络断开,等待网络连接后进行数据的发送,相较于现有需要内核重复通知提高了数据发送过程的效率。则在下一目标数据发送时,也可以再次比较下一目标数据的网络参数和全局参数,从而判断网络是否中断。
在一种实施例中,在网络参数和全局参数相等时,表示网络连接正常,则可以发送数据,则可以根据连接参数、数据量参数发送数据至缓冲区。
针对现有数据发送过程中需要内核通知缓冲区是否可写/可读,会导致内核唤醒频繁影响数据发送效率。在一种实施例中,所述在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区的步骤,包括:在所述网络参数与全局参数相等时,获取所述连接参数中的套接字参数、缓冲参数、第一指针参数、第二指针参数和实时数据参数,并确定所述套接字参数对应的缓冲区;根据所述连接参数中的缓冲参数,判断所述缓冲区是否存在空余空间;在所述缓冲区存在空余空间时,根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据。
在本申请实施例中,通过在包头数据中设置连接参数,连接参数中设有套接字参数,从而确定对应的缓冲区,并在连接参数中设置缓冲参数,通过缓冲参数来判断缓冲区是否存在空余空间,从而确定缓冲区是否可写/可读,无需内核进行通知。
具体的,在缓冲区无法接收数据时,发送的字节数为0,状态返回值EAGAIN,表示缓冲区已经满了,在缓冲区可以接收数据时,例如还有100字节的剩余空间,但需要发送1000字节的数据,则返回值为100,此时也可以确定缓冲区已经满了;则可以将返回值作为缓冲参数,从而判断缓冲区是否存在空余空间。
需要说明的是,在缓冲区内存在100字节的空间,但需要发送大于100字节的数据时,设定缓冲区无空余空间。
在一种实施例中,所述在所述缓冲区存在空余空间时,根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据的步骤,包括:在所述缓冲区存在空余空间时,根据所述数据量参数和所述实时数据参数判断所述目标数据是否发送完毕;在所述目标数据未发送完毕时,根据所述第一指针参数确定所述包头数据的位置信息;根据所述第二指针参数,确定所述包体数据的实时发送位置信息;根据所述包头数据的位置数据、所述包体数据的实时发送位置信息,向所述缓冲区发送所述目标数据。
在本申请实施例中,第一指针数据为固定值,从而便于确定需要发送的目标数据,且在数据发送完毕后,便于确定回收内存的位置。
在本申请实施例中,在包头数据中设置第一指针参数和第二指针参数,则无论数据发送中断还是发送下一数据,由于设有第一指针数据和第二指针参数可以准确找到需要发送的目标数据的包头数据以及包体数据的具体位置,例如包体数据包括1000字节,已经发送300字节,则可以根据第二指针参数找到包体数据对应的位置,从而避免数据发送出现错漏问题;同时根据数据量参数和实时数据参数可以判断目标数据是否发送完毕,在数据未发送完毕时,继续进行该目标数据的发送,在数据发送完毕后,发送下一目标数据。
针对数据发送过程中,会存在缓冲区不存在空余空间的问题。在一种实施例中,在所述根据所述包头数据的位置数据、所述包体数据的实时发送位置信息,向所述缓冲区发送所述目标数据的步骤之后,还包括:实时监测所述连接参数中的缓冲参数;在所述连接参数中的缓冲参数表征所述缓冲区不存在空余空间时,监测所述缓冲区的内核通知事件。即在数据的发送过程中,同时对缓冲区进行监测,在监测到缓冲区不存在空余空间时,监测缓冲区的内核通知事件,以在后续对数据进行发送。
针对缓冲区不存在空余空间时,可以监测内核通知事件,从而在监测到内核通知事件为可写事件时,发送目标数据。具体的,在所述根据所述连接参数中的缓冲参数,判断所述缓冲区是否存在空余空间的步骤之后,还包括:在所述缓冲区不存在空余空间时,监测所述缓冲区的内核通知事件;在监测到所述内核通知事件为可写事件时,根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据;在所述目标数据发送完毕后,修改所述缓冲参数,并注销所述内核通知事件。
具体的,在缓冲区不存在空余空间时,通过监测内核通知事件,在内核通知事件为可写事件时,表示缓冲区存在空余空间,则可以向缓冲区发送目标数据,且在目标数据发送完毕后,由于此时缓冲区存在空余空间,则需要将缓冲参数修改为表征缓冲存在空余空间的数值,以便于后续数据的发送,而通过注销内核通知事件,可以降低资源消耗。
针对监测内核通知事件为可写事件,向缓冲区发送目标数据时,会存在目标数据未按照顺序发送的问题。在一种实施例中,在监测到所述内核通知事件为可写事件时,根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据的步骤,包括:在监测到所述内核通知事件为可写事件时,获取所述消息队列的锁;根据所述消息队列的锁,确定当前发送的目标数据,并确定当前发送的目标数据对应的所述数据量参数、第一指针参数和第二指针参数和实时数据参数;根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据。通过在消息队列中加锁,在监测到内核通知时,获取消息队列的锁,使得可以确定需要当前发送的目标数据,避免出现目标数据的发送顺序不符,且在确定了目标数据后,根据包头数据中的数据量参数、第一指针参数和第二指针参数和实时数据参数向缓冲区内发送目标数据。
具体的,例如100个目标数据发送到同一缓冲区,在发送第5个数据时,缓冲区满了,这是会继续遍历消息队列,假设在遍历到第80个时,缓冲参数表示可以发送数据,则可以发送第80个数据,但此时第5个至第79个数据还未发送,会导致目标数据的发送不符合要求,从而导致出现乱序的问题,而本申请通过对消息队列加锁,则可以在第5个数据发送出现缓冲区满了时,在后续恢复发送时,根据锁从第5个数据开始发送,避免出现乱序问题。
针对网络状态不好时,会导致数据积累无法发送,占用资源,且等待网络状态变化会消耗大量时间导致效率降低。在一种实施例中,在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区的步骤之前,还包括:获取所述连接参数中的存储参数;根据所述连接参数中的存储参数以及阈值,判断消息队列中的存储数据是否大于阈值;在所述消息队列中的存储数据大于阈值时,清除所述消息队列中的目标数据。通过连接参数中的存储参数,判断消息队列中的存储的数据的量是否大于阈值,从而判断网络状态,相应的,在网络状态较差时,清除消息队列中的目标数据,以重新连接网络,便于数据的发送。
具体的,例如消息队列的容量为100个目标数据,阈值为90个目标数据,在持续向消息队列添加目标数据的过程中,出现连接参数中的存储参数表征消息队列中存在91个目标数据,则可以判断网络状态较差,只能向消息队列加入目标数据,而无法发送目标数据,则此时需要清除消息队列中的数据,重新连接网络,并发送数据,避免长时间无法发送数据导致资源占用和时间消耗。
205:从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
具体的,如图3所示,本申请实施例的数据服务器的处理过程如下:数据服务器在接收到第三方媒体服务器发送的数据查看请求后,会通过线程一获取到初始数据并将初始数据处理后得到包头数据31和包体数据32的目标数据,将目标数据发送到消息队列,在将目标数据发送到消息队列后,线程二会根据包头数据31中的网络参数312和全局参数判断网络是否连接,在网络连接时,通过存储参数311f判断网络连接状态,并在网络连接较好时,根据包头数据31中的连接参数311中的套接字参数311a确定对应的缓冲区,并根据缓冲参数311b判断缓冲区是否满了,如果没满,则通过第一指针参数311c、第二指针参数311d、实时数据参数311e和数据量参数313将数据发送至缓冲区,如果缓冲区满了,则通过线程三监测内核通知事件,并在内核通知事件为可写事件时,通过锁确定对应的目标数据,然后根据目标数据的第一指针参数311c、第二指针参数311d、实时数据参数311e和数据量参数313发送数据,直到数据发送完毕后,将缓冲参数修改为表征缓冲区存在空余空间的参数,同时注销内核通知事件。
在本申请实施例中,仅需要三个线程来执行数据发送过程,且在数据发送过程仅在缓冲区满了的时候需要通过内核通知,而在其他过程均可以自动进行无需频繁唤醒内核,降低了资源的消耗,提高了数据发送的效率。
针对发送至同一第三方媒体服务器的多个目标数据,可以使得多个目标数据的连接参数指向同一第三方媒体服务器,从而便于向同一第三方媒体服务器发送数据。而对于多个目标数据属于不同的第三方媒体服务器,由于不同的第三方媒体服务器对应的连接参数不同,在某一目标参数对应的缓冲区出现阻塞无法发送时,另一目标参数能够正常发送,降低各模块之间的耦合度,便于数据的发送。
本申请实施例提供一种数据管理方法,该数据管理方法提供了一种灵活的发包方法和调度策略,使得业务服务在和多个第三方媒体服务器的数据交互中,能够聚焦于业务层,实现业务层和复杂网络逻辑层的解耦,业务层仅需要将数据推送到逻辑层的消息队列中即可,由逻辑层完成对数据的封装,包括:确定网络状态、发送顺序、缓冲状态等参数,并根据网络状态自行调度,在网络正常的情况下,配合头部设计,自动处理粘贴包情况发包,出现网络拥塞的情况下,停止对内核的频繁唤醒,网络拥塞结束后,自行恢复内核调度,完成数据的正常发送。
相应的,图4为本申请实施例提供的数据管理装置的结构示意图;请参阅图4,该数据管理装置包括以下模块:
接收模块401,用于接收至少两个第三方媒体服务器发送的数据查看请求;
获取模块402,用于根据所述数据查看请求,获取所述数据查看请求对应的初始数据;
第一发送模块403,用于对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包头数据包括数据量参数、网络参数和连接参数;
第二发送模块404,用于在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区;
第三发送模块405,用于从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
在一种实施例中,第一发送模块403用于对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据;所述目标数据包括数据标识;根据所述目标数据的数据标识,确定多个目标数据的排序;根据各目标数据的排序,将所述目标数据发送至消息队列,并对所述消息队列加锁。
在一种实施例中,数据管理装置还包括第四发送模块,第四发送模块用于在所述网络参数与全局参数不相等时,等待网络连接,获取所述消息队列的锁;在所述网络参数与所述全局参数相等时,根据所述消息队列的锁、连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区。
在一种实施例中,第二发送模块404用于在所述网络参数与全局参数相等时,获取所述连接参数中的套接字参数、缓冲参数、第一指针参数、第二指针参数和实时数据参数,并确定所述套接字参数对应的缓冲区;根据所述连接参数中的缓冲参数,判断所述缓冲区是否存在空余空间;在所述缓冲区存在空余空间时,根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据。
在一种实施例中,第二发送模块404用于在所述缓冲区存在空余空间时,根据所述数据量参数和所述实时数据参数判断所述目标数据是否发送完毕;在所述目标数据未发送完毕时,根据所述第一指针参数确定所述包头数据的位置信息;根据所述第二指针参数,确定所述包体数据的实时发送位置信息;根据所述包头数据的位置数据、所述包体数据的实时发送位置信息,向所述缓冲区发送所述目标数据。
在一种实施例中,数据管理装置还包括第一监测模块,第一监测模块用于实时监测所述连接参数中的缓冲参数;在所述连接参数中的缓冲参数表征所述缓冲区不存在空余空间时,监测所述缓冲区的内核通知事件。
在一种实施例中,数据管理装置还包括第二监测模块,第二监测模块用于在所述缓冲区不存在空余空间时,监测所述缓冲区的内核通知事件;在监测到所述内核通知事件为可写事件时,根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据;在所述目标数据发送完毕后,修改所述缓冲参数,并注销所述内核通知事件。
在一种实施例中,第二监测模块用于在监测到所述内核通知事件为可写事件时,获取所述消息队列的锁;根据所述消息队列的锁,确定当前发送的目标数据,并确定当前发送的目标数据对应的所述数据量参数、第一指针参数和第二指针参数和实时数据参数;根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据。
在一种实施例中,数据管理装置还包括清除模块,清除模块用于获取所述连接参数中的存储参数;根据所述连接参数中的存储参数以及阈值,判断消息队列中的存储数据是否大于阈值;在所述消息队列中的存储数据大于阈值时,清除所述消息队列中的目标数据。
相应的,本申请实施例还提供一种数据服务器,如图5所示,该数据服务器可以包括射频(RF,Radio Frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(WiFi,WirelessFidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图5中示出的数据服务器结构并不构成对数据服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部分,或者不同的部件布置。其中:
RF电路501可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。存储器502可用于存储软件程序以及模块,处理器508通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
显示单元504可用于显示由用户输入的信息或提供给用户的信息以及数据服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
数据服务器还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。音频电路506包括扬声器,扬声器可提供用户与数据服务器之间的音频接口。
WiFi属于短距离无线传输技术,数据服务器通过WiFi模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块507,但是可以理解的是,其并不属于数据服务器的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器508是数据服务器的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行数据服务器的各种功能和处理数据,从而对手机进行整体监控。
数据服务器还包括给各个部件供电的电源509(比如电池),优选的,电源可以通过电源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,数据服务器还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,数据服务器中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现以下功能:
接收至少两个第三方媒体服务器发送的数据查看请求;根据所述数据查看请求,获取所述数据查看请求对应的初始数据;对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包头数据包括数据量参数、网络参数和连接参数;在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区;从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:
接收至少两个第三方媒体服务器发送的数据查看请求;根据所述数据查看请求,获取所述数据查看请求对应的初始数据;对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包头数据包括数据量参数、网络参数和连接参数;在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区;从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种数据管理方法和数据管理装置、数据服务器和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。

Claims (8)

1.一种数据管理方法,其特征在于,应用于交警系统,所述交警系统包括数据服务器和至少两个第三方媒体服务器,所述数据管理方法包括:
所述数据服务器接收至少两个第三方媒体服务器发送的数据查看请求;
根据所述数据查看请求,获取所述数据查看请求对应的初始数据;
对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包头数据包括数据量参数、网络参数和连接参数;数据量参数指表示所述包体数据的数据量的信息的参数;
在所述网络参数与全局参数相等时,表示网络连接正常,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区;具体包括:在所述网络参数与全局参数相等时,获取所述连接参数中的套接字参数、缓冲参数、第一指针参数、第二指针参数和实时数据参数,并确定所述套接字参数对应的缓冲区;根据所述连接参数中的缓冲参数,判断所述缓冲区是否存在空余空间;在所述缓冲区存在空余空间时,在所述缓冲区存在空余空间时,根据所述数据量参数和所述实时数据参数判断所述目标数据是否发送完毕;在所述目标数据未发送完毕时,根据所述第一指针参数确定所述包头数据的位置信息;根据所述第二指针参数,确定所述包体数据的实时发送位置信息;根据所述包头数据的位置数据、所述包体数据的实时发送位置信息,向所述缓冲区发送所述目标数据;
从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
2.如权利要求1所述的数据管理方法,其特征在于,所述对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列的步骤,包括:
对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据;所述目标数据包括数据标识;
根据所述目标数据的数据标识,确定多个目标数据的排序;
根据各目标数据的排序,将所述目标数据发送至消息队列,并对所述消息队列加锁。
3.如权利要求2所述的数据管理方法,其特征在于,在所述对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列的步骤之后,还包括:
在所述网络参数与全局参数不相等时,等待网络连接,获取所述消息队列的锁;
在所述网络参数与所述全局参数相等时,根据所述消息队列的锁、连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区。
4.如权利要求1所述的数据管理方法,其特征在于,在所述根据所述包头数据的位置数据、所述包体数据的实时发送位置信息,向所述缓冲区发送所述目标数据的步骤之后,还包括:
实时监测所述连接参数中的缓冲参数;
在所述连接参数中的缓冲参数表征所述缓冲区不存在空余空间时,监测所述缓冲区的内核通知事件。
5.如权利要求1所述的数据管理方法,其特征在于,在所述根据所述连接参数中的缓冲参数,判断所述缓冲区是否存在空余空间的步骤之后,还包括:
在所述缓冲区不存在空余空间时,监测所述缓冲区的内核通知事件;
在监测到所述内核通知事件为可写事件时,根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据;
在所述目标数据发送完毕后,修改所述缓冲参数,并注销所述内核通知事件。
6.如权利要求5所述的数据管理方法,其特征在于,在监测到所述内核通知事件为可写事件时,根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据的步骤,包括:
在监测到所述内核通知事件为可写事件时,获取所述消息队列的锁;
根据所述消息队列的锁,确定当前发送的目标数据,并确定当前发送的目标数据对应的所述数据量参数、第一指针参数和第二指针参数和实时数据参数;
根据所述数据量参数、第一指针参数和第二指针参数和实时数据参数向所述缓冲区发送所述目标数据。
7.如权利要求1所述的数据管理方法,其特征在于,在所述网络参数与全局参数相等时,根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区的步骤之前,还包括:
获取所述连接参数中的存储参数;
根据所述连接参数中的存储参数以及阈值,判断消息队列中的存储数据是否大于阈值;
在所述消息队列中的存储数据大于阈值时,清除所述消息队列中的目标数据。
8.一种数据管理装置,其特征在于,应用于交警系统,所述交警系统包括数据服务器和至少两个第三方媒体服务器,所述数据管理装置包括:
接收模块,用于接收至少两个第三方媒体服务器发送的数据查看请求;
获取模块,用于根据所述数据查看请求,获取所述数据查看请求对应的初始数据;
第一发送模块,用于对所述初始数据进行处理,得到包含包头数据和包体数据的目标数据,并将所述目标数据发送至消息队列;所述包头数据包括数据量参数、网络参数和连接参数;数据量参数指表示所述包体数据的数据量的信息的参数;
第二发送模块,用于在所述网络参数与全局参数相等时,确定网络连接正常,并根据所述连接参数、所述数据量参数,从所述消息队列中提取所述目标数据并发送至缓冲区;具体用于:在所述网络参数与全局参数相等时,获取所述连接参数中的套接字参数、缓冲参数、第一指针参数、第二指针参数和实时数据参数,并确定所述套接字参数对应的缓冲区;根据所述连接参数中的缓冲参数,判断所述缓冲区是否存在空余空间;在所述缓冲区存在空余空间时,在所述缓冲区存在空余空间时,根据所述数据量参数和所述实时数据参数判断所述目标数据是否发送完毕;在所述目标数据未发送完毕时,根据所述第一指针参数确定所述包头数据的位置信息;根据所述第二指针参数,确定所述包体数据的实时发送位置信息;根据所述包头数据的位置数据、所述包体数据的实时发送位置信息,向所述缓冲区发送所述目标数据;
第三发送模块,用于从所述缓冲区中提取所述目标数据,并将所述目标数据发送至所述第三方媒体服务器。
CN202111038659.2A 2021-09-06 2021-09-06 数据管理方法和数据管理装置 Active CN113824777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111038659.2A CN113824777B (zh) 2021-09-06 2021-09-06 数据管理方法和数据管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111038659.2A CN113824777B (zh) 2021-09-06 2021-09-06 数据管理方法和数据管理装置

Publications (2)

Publication Number Publication Date
CN113824777A CN113824777A (zh) 2021-12-21
CN113824777B true CN113824777B (zh) 2023-12-19

Family

ID=78921785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111038659.2A Active CN113824777B (zh) 2021-09-06 2021-09-06 数据管理方法和数据管理装置

Country Status (1)

Country Link
CN (1) CN113824777B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217493A (zh) * 2008-01-08 2008-07-09 北京大学 一种tcp数据包的传输方法
CN102447714A (zh) * 2010-10-07 2012-05-09 鸿富锦精密工业(深圳)有限公司 Cookie管理方法
WO2016197659A1 (zh) * 2015-06-12 2016-12-15 中兴通讯股份有限公司 网络媒体流收包方法、装置及系统
CN107070976A (zh) * 2017-01-13 2017-08-18 广西电网有限责任公司电力科学研究院 一种数据传输方法
WO2019019371A1 (zh) * 2017-07-24 2019-01-31 平安科技(深圳)有限公司 一种流媒体数据的传输方法、存储介质和流媒体服务器
WO2020001192A1 (zh) * 2018-06-29 2020-01-02 华为技术有限公司 一种数据传输方法、计算设备、网络设备及数据传输系统
CN111212061A (zh) * 2019-12-31 2020-05-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于afdx的套接字的实现方法
CN111209123A (zh) * 2019-12-26 2020-05-29 天津中科曙光存储科技有限公司 一种本地存储io协议栈数据交互方法和装置
CN112148493A (zh) * 2020-09-30 2020-12-29 武汉中科通达高新技术股份有限公司 一种流媒体任务管理方法及装置、数据服务器
CN112866303A (zh) * 2021-04-25 2021-05-28 武汉中科通达高新技术股份有限公司 一种级联媒体传输链路管理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054925B2 (en) * 2001-11-21 2006-05-30 International Business Machines Corporation Efficient method for determining record based I/O on top of streaming protocols
CA2393502A1 (en) * 2002-07-15 2004-01-15 Mark J. Frazer System and method for reliable transport in a computer network
US7571247B2 (en) * 2005-12-12 2009-08-04 International Business Machines Corporation Efficient send socket call handling by a transport layer

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217493A (zh) * 2008-01-08 2008-07-09 北京大学 一种tcp数据包的传输方法
CN102447714A (zh) * 2010-10-07 2012-05-09 鸿富锦精密工业(深圳)有限公司 Cookie管理方法
WO2016197659A1 (zh) * 2015-06-12 2016-12-15 中兴通讯股份有限公司 网络媒体流收包方法、装置及系统
CN107070976A (zh) * 2017-01-13 2017-08-18 广西电网有限责任公司电力科学研究院 一种数据传输方法
WO2019019371A1 (zh) * 2017-07-24 2019-01-31 平安科技(深圳)有限公司 一种流媒体数据的传输方法、存储介质和流媒体服务器
WO2020001192A1 (zh) * 2018-06-29 2020-01-02 华为技术有限公司 一种数据传输方法、计算设备、网络设备及数据传输系统
CN111209123A (zh) * 2019-12-26 2020-05-29 天津中科曙光存储科技有限公司 一种本地存储io协议栈数据交互方法和装置
CN111212061A (zh) * 2019-12-31 2020-05-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于afdx的套接字的实现方法
CN112148493A (zh) * 2020-09-30 2020-12-29 武汉中科通达高新技术股份有限公司 一种流媒体任务管理方法及装置、数据服务器
CN112866303A (zh) * 2021-04-25 2021-05-28 武汉中科通达高新技术股份有限公司 一种级联媒体传输链路管理方法及装置

Also Published As

Publication number Publication date
CN113824777A (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
CN107634962B (zh) 网络带宽的管理方法及相关产品
CN112188227A (zh) 一种流媒体数据分发方法和装置
CN111970215B (zh) 一种数据包管理方法及装置
CN103501347A (zh) 资源分配方法及装置
CN103297470A (zh) 永远在线业务的处理方法、应用服务器、用户终端和系统
CN112995239B (zh) 一种数据处理方法和装置
CN112148493A (zh) 一种流媒体任务管理方法及装置、数据服务器
CN109040295A (zh) 异常断线的确定方法及装置、终端及存储介质
CN107241216A (zh) 维持关键数据稳定传输的方法及装置
CN113824777B (zh) 数据管理方法和数据管理装置
CN111935497B (zh) 一种用于交警系统的视频流管理方法和数据服务器
CN110363631B (zh) 业务拥塞控制方法、服务器、电池及计算机可读存储介质
CN116861198A (zh) 数据处理方法、装置及存储介质
US20110252257A1 (en) System and Method for Energy Efficient Ethernet Enhanced Information Technology Power Management Tools
CN103517250B (zh) 用于处理应用代理客户端异常的方法和装置
CN110445700A (zh) 主从机通信系统、方法及终端设备
CN114126014A (zh) 心跳代理方法和装置
CN111556043B (zh) 一种报文处理方法、装置、系统、设备及可读存储介质
CN111935313B (zh) 一种连接池管理方法及装置
CN112559469A (zh) 一种数据同步方法及装置
CN109995927B (zh) 信息处理方法、装置、移动终端及计算机可读存储介质
CN111881151B (zh) 一种交通违法数据管理方法、装置及服务器
CN111930490B (zh) 一种流媒体任务管理方法及装置
CN114915437B (zh) 开发包认证方法及相关设备
CN114125502B (zh) 一种视频流管理方法及装置

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