CN114785840B - 一种应用于工业互联网的数据库管理系统及其控制方法 - Google Patents

一种应用于工业互联网的数据库管理系统及其控制方法 Download PDF

Info

Publication number
CN114785840B
CN114785840B CN202210411635.5A CN202210411635A CN114785840B CN 114785840 B CN114785840 B CN 114785840B CN 202210411635 A CN202210411635 A CN 202210411635A CN 114785840 B CN114785840 B CN 114785840B
Authority
CN
China
Prior art keywords
data
database
module
acquisition module
operation instruction
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
CN202210411635.5A
Other languages
English (en)
Other versions
CN114785840A (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.)
Shenzhen Xuanyu Technology Co ltd
Original Assignee
Shenzhen Xuanyu 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 Shenzhen Xuanyu Technology Co ltd filed Critical Shenzhen Xuanyu Technology Co ltd
Priority to CN202210411635.5A priority Critical patent/CN114785840B/zh
Publication of CN114785840A publication Critical patent/CN114785840A/zh
Application granted granted Critical
Publication of CN114785840B publication Critical patent/CN114785840B/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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones

Abstract

本发明提出一种应用于工业互联网的数据库管理系统及其控制方法,所述数据库管理系统包括数据服务设备和数据库,所述数据服务设备包括用于从生产控制设备采集实时的生产数据的数据采集模块、用于接收控制设备的控制指令对所述生产控制设备进行控制的控制模块、用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作的数据库驱动模块以及拦截器,所述拦截器用于接收所述数据采集模块与所述数据库驱动模块之间的第一通信数据,以及所述控制模块与所述数据库驱动模块之间的第二通信数据,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据,可以提高工业互联网的信息安全。

Description

一种应用于工业互联网的数据库管理系统及其控制方法
技术领域
本发明涉及工业制造技术领域,特别涉及一种应用于工业互联网的数据库管理系统及其控制方法。
背景技术
随着信息技术的进步,为工业生产各个环节提供便利的各类管理系统越来越多,为了打破数据孤岛,充分利用各类数据信息进行分析和优化生产制造和管理流程,越来越多的工业制造企业倾向于以工业互联网为基础,打造一个集采购、生产、运输、仓储、运营、销售、财务以及人事行政一体化的工业制造管理系统,有的工业制造企业选择将管理系统及其数据库托管于连接在公共网络的云服务平台的方案,但采用这个方案并不利于企业的信息安全管理。为了解决信息安全问题,有的工业制造企业选择将管理系统及其数据库安装于企业内网设备中,但这个方案并不适用于多地办公的企业。虽然采用架设物理专线或者VPN专网的方案能够解决外部网络环境的安全问题,但在工业制造系统中,信息安全问题往往出现在内部网络环境当中,特别是在当今智能制造、智能感知和控制技术的兴起和发展,现场设备大量采用短距离无线通信技术如wifi、蓝牙、RFID以及红外通信技术等进行通信,而这些短距离无线通信网络的覆盖范围往往容易被利用作为工业互联网信息安全的突破口,直接破解现场设备的短距离无线通信网络从而获取网络访问权限以窃取数据库中的数据。
发明内容
本发明正是基于上述问题,提出了一种应用于工业互联网的数据库管理系统及其控制方法,可以提高工业互联网的信息安全。
有鉴于此,本发明的第一方面提出了一种应用于工业互联网的数据库管理系统,包括数据服务设备和数据库,所述数据服务设备包括:
数据采集模块,与生产控制设备连接,用于从所述生产控制设备采集实时的生产数据;
控制模块,与所述生产控制设备连接,用于接收控制设备的控制指令对所述生产控制设备进行控制;
数据库驱动模块,与所述数据库连接,用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作,所述数据采集模块以具有第一数据库操作权限的第一用户组用户通过所述数据库驱动模块与所述数据库建立连接,所述控制模块以具有第二数据库操作权限的第二用户组用户通过所述数据库驱动模块与所述数据库建立连接;
拦截器,设置于所述数据采集模块、所述控制模块以及所述数据库驱动模块之间,用于拦截所述数据采集模块、所述控制模块以及所述数据库驱动模块之间的异常通信数据。
进一步的,在上述的数据库管理系统中,所述数据采集模块在以所述第一用户组用户与所述数据库建立连接后,直接向所述数据库驱动模块发送访问所述数据库的数据操作指令。
进一步的,在上述的数据库管理系统中,所述数据采集模块还包括缓存子模块,所述缓存子模块用于存储所述数据采集模块向所述数据库驱动模块发送的数据包队列,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,在所述数据采集模块收到对应所发送的数据包的应答报文之前,暂不回收对应所述数据包的内存,所述缓存子模块存储有等候应答队列,所述等候应答队列内存储有一系列的地址指针,所述地址指针指向未收到应答报文的数据包在所述缓存子模块中的缓存地址。
进一步的,在上述的数据库管理系统中,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,还包括:
所述数据库驱动模块周期性向所述拦截器发送已接收未应答的数据包数量;
所述拦截器根据所述数据驱动模块发送的已接收未应答的数据包数量确定一个随机数序列以及发送周期发送给所述数据库驱动模块;
所述数据采集模块根据所述随机数序列将所述已接收未应答的数据包进行分组,并对应生成每组所述数据包的应答报文发送给所述拦截器;
所述拦截器根据所述应答报文的发送周期、应答报文的数量以及每个应答报文对应的数据包数量确定所述应答报文是否属于异常通讯信息;
确定为否,则将所述应答报文转发给所述数据采集模块以使所述数据采集模块接收到所述应答报文后根据所述应答报文中的地址指针信息回收所述缓存子模块所保存的数据包队列中对应数据包的内存空间。
进一步的,在上述的数据库管理系统中,所述拦截器拦截所述数据采集模块、所述控制模块以及所述数据库驱动模块之间的异常通信数据具体包括:
当所述数据采集模块以所述第一用户组用户连接所述数据库驱动模块后,以超出所述第一数据库操作权限的第一数据操作指令访问所述数据库时,如果所述第一数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述数据采集模块的数据;如果所述第一数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第一数据操作指令对应第一逆向数据操作指令以使所述数据库的数据还原到执行所述第一数据操作指令前的状态;或者,
当所述控制模块以所述第二用户组用户连接所述数据库驱动模块后,以超出所述第二数据库操作权限的第二数据操作指令访问所述数据库时,如果所述第二数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述控制模块的数据;如果所述第二数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第二数据操作指令对应第二逆向数据操作指令以使所述数据库的数据还原到执行所述第二数据操作指令前的状态。
本发明的第二方面提出了一种应用于工业互联网的数据库管理系统控制方法,所述数据库管理系统包括数据服务设备和数据库,所述数据服务设备包括与生产控制设备连接用于从所述生产控制设备采集实时的生产数据的数据采集模块、与所述生产控制设备连接用于接收控制设备的控制指令对所述生产控制设备进行控制的控制模块、与所述数据库连接用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作的数据库驱动模块以及与所述数据库驱动模块、所述数据采集模块、所述控制模块连接的用于拦截异常数据的拦截器,所述控制方法包括:
所述数据库驱动模块接收所述数据采集模块以具有第一数据库操作权限的第一用户组用户的第一连接请求,并在验证所述第一连接请求通过后,建立所述数据采集模块与所述数据库的通信连接;
所述数据库驱动模块接收所述控制模块以具有第二数据库操作权限的第二用户组用户的第二连接请求,并在验证所述第二连接请求通过后,建立所述控制模块与所述数据库的通信连接;
所述拦截器接收所述数据采集模块与所述数据库驱动模块之间的第一通信数据,以及所述控制模块与所述数据库驱动模块之间的第二通信数据,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据。
进一步的,在上述的数据库管理系统控制方法中,所述数据采集模块在以所述第一用户组用户与所述数据库建立连接后,直接向所述数据库驱动模块发送访问所述数据库的数据操作指令。
进一步的,在上述的数据库管理系统控制方法中,所述数据采集模块还包括缓存子模块,所述缓存子模块用于存储所述数据采集模块向所述数据库驱动模块发送的数据包队列,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,在所述数据采集模块收到对应所发送的数据包的应答报文之前,暂不回收对应所述数据包的内存,所述缓存子模块存储有等候应答队列,所述等候应答队列内存储有一系列的地址指针,所述地址指针指向未收到应答报文的数据包在所述缓存子模块中的缓存地址。
进一步的,在上述的数据库管理系统控制方法中,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,还包括:
所述数据库驱动模块周期性向所述拦截器发送已接收未应答的数据包数量;
所述拦截器根据所述数据驱动模块发送的已接收未应答的数据包数量确定一个随机数序列以及发送周期发送给所述数据库驱动模块;
所述数据采集模块根据所述随机数序列将所述已接收未应答的数据包进行分组,并对应生成每组所述数据包的应答报文发送给所述拦截器;
所述拦截器根据所述应答报文的发送周期、应答报文的数量以及每个应答报文对应的数据包数量确定所述应答报文是否属于异常通讯信息;
确定为否,则将所述应答报文转发给所述数据采集模块以使所述数据采集模块接收到所述应答报文后根据所述应答报文中的地址指针信息回收所述缓存子模块所保存的数据包队列中对应数据包的内存空间。
进一步的,在上述的数据库管理系统控制方法中,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据的步骤具体包括:
当所述数据采集模块以所述第一用户组用户连接所述数据库驱动模块后,以超出所述第一数据库操作权限的第一数据操作指令访问所述数据库时,如果所述第一数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述数据采集模块的数据;如果所述第一数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第一数据操作指令对应第一逆向数据操作指令以使所述数据库的数据还原到执行所述第一数据操作指令前的状态;或者,
当所述控制模块以所述第二用户组用户连接所述数据库驱动模块后,以超出所述第二数据库操作权限的第二数据操作指令访问所述数据库时,如果所述第二数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述控制模块的数据;如果所述第二数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第二数据操作指令对应第二逆向数据操作指令以使所述数据库的数据还原到执行所述第二数据操作指令前的状态。
本发明提出一种应用于工业互联网的数据库管理系统及其控制方法,所述数据库管理系统包括数据服务设备和数据库,所述数据服务设备包括与生产控制设备连接用于从所述生产控制设备采集实时的生产数据的数据采集模块、与所述生产控制设备连接用于接收控制设备的控制指令对所述生产控制设备进行控制的控制模块、与所述数据库连接用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作的数据库驱动模块以及与所述数据库驱动模块、所述数据采集模块、所述控制模块连接的用于拦截异常数据的拦截器,所述控制方法包括:所述数据库驱动模块接收所述数据采集模块以具有第一数据库操作权限的第一用户组用户的第一连接请求,并在验证所述第一连接请求通过后,建立所述数据采集模块与所述数据库的通信连接;所述数据库驱动模块接收所述控制模块以具有第二数据库操作权限的第二用户组用户的第二连接请求,并在验证所述第二连接请求通过后,建立所述控制模块与所述数据库的通信连接;所述拦截器接收所述数据采集模块与所述数据库驱动模块之间的第一通信数据,以及所述控制模块与所述数据库驱动模块之间的第二通信数据,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据,可以提高工业互联网的信息安全。
附图说明
图1是本发明一个实施例提供的一种应用于工业互联网的数据库管理系统的示意框图;
图2是本发明一个实施例提供的数据包发送过程的UML序列图;
图3是本发明一个实施例提供的拦截器的示意框图;
图4是本发明一个实施例提供的数据包解析流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
在本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本说明书的描述中,术语“一个实施例”、“一些实施方式”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
下面参照图1至图4来描述根据本发明一些实施方式提供的一种应用于工业互联网的数据库管理系统及其控制方法。
如图1所示,本发明的第一方面提出了一种应用于工业互联网的数据库管理系统,包括数据服务设备和数据库,所述数据服务设备包括:
数据采集模块,与生产控制设备连接,用于从所述生产控制设备采集实时的生产数据;
控制模块,与所述生产控制设备连接,用于接收控制设备的控制指令对所述生产控制设备进行控制;
数据库驱动模块,与所述数据库连接,用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作,所述数据采集模块以具有第一数据库操作权限的第一用户组用户通过所述数据库驱动模块与所述数据库建立连接,所述控制模块以具有第二数据库操作权限的第二用户组用户通过所述数据库驱动模块与所述数据库建立连接;
拦截器,设置于所述数据采集模块、所述控制模块以及所述数据库驱动模块之间,用于拦截所述数据采集模块、所述控制模块以及所述数据库驱动模块之间的异常通信数据。
在本发明实施例的技术方案中,所述生产控制设备是指被安装于工业制造系统现场或集成于各种工业生产设备上,对工业生产设备进行数据采集、检测和控制的设备,所述生产控制设备包括但不限于DCS(Distributed Control System,分散控制系统)、FCS(Fieldbus Control System,现场总线控制系统)、CNC(Computerized NumericalControl,计算机数字控制技术/数控机床)、MC(Machine Center,数控加工中心)、PLC(Programmable Logic Controller,可编程逻辑控制器)、各种仪表以及阀门等中的一个或多个。
在本发明实施例的技术方案中,所述数据服务设备可以是一个独立的设备,例如与所述生产控制设备连接的用于实现工业制造系统数据服务和控制服务一台服务器。所述数据服务设备也可以是多台不同功能的设备的集合,例如,所述数据服务设备可以由一台包括所述数据库驱动模块用于连接所述数据库的数据库驱动服务器、一台包括Web服务的服务器或应用程序服务用于提供所述工业制造系统控制和管理的服务器、一台包括所述数据采集模块的数据采集服务器以及采用独立设备实现数据拦截功能的拦截器组成。应当知道的是,所述数据库驱动模块、所述数据采集模块、所述控制模块以及所述拦截器均可以采用硬件或软件的方式实现,本领域技术人员根据成本或者安装配置方面的考量,可以对其进行任意组合,本发明对此不作限定。在本发明一些实施方式中,所述数据库管理系统还包括控制设备,所述控制设备可以是通过互联网、移动通信网络与所述数据服务设备连接的远程控制设备,例如云服务器或者PC、智能手机等。所述控制设备还可以是通过本地有线或无线网络与所述数据服务设备连接的本地控制设备,例如安装于本地控制室内的工作站或者服务器等。
本发明提出一种应用于工业互联网的数据库管理系统及其控制方法,所述数据库管理系统包括数据服务设备和数据库,所述数据服务设备包括与生产控制设备连接用于从所述生产控制设备采集实时的生产数据的数据采集模块、与所述生产控制设备连接用于接收控制设备的控制指令对所述生产控制设备进行控制的控制模块、与所述数据库连接用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作的数据库驱动模块以及与所述数据库驱动模块、所述数据采集模块、所述控制模块连接的用于拦截异常数据的拦截器,所述控制方法包括:所述数据库驱动模块接收所述数据采集模块以具有第一数据库操作权限的第一用户组用户的第一连接请求,并在验证所述第一连接请求通过后,建立所述数据采集模块与所述数据库的通信连接;所述数据库驱动模块接收所述控制模块以具有第二数据库操作权限的第二用户组用户的第二连接请求,并在验证所述第二连接请求通过后,建立所述控制模块与所述数据库的通信连接;所述拦截器接收所述数据采集模块与所述数据库驱动模块之间的第一通信数据,以及所述控制模块与所述数据库驱动模块之间的第二通信数据,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据,可以提高工业互联网的信息安全。
进一步的,在上述的数据库管理系统中,所述第一数据库操作权限由插入一条或多条数据记录的insert权限以及更新一条或多条数据记录的update权限组成,所述第二数据库操作权限由插入一条或多条数据记录的insert权限、更新一条或多条数据记录的update权限和查询一条或多条数据记录的select权限组成。在本发明实施例的技术方案中,所述数据库中存储有所述第一用户组用户、所述第二用户组用户的身份验证信息以及所述第一用户组用户、所述第二用户组用户对应的所述第一数据库操作权限和所述第二数据库操作权限。所述数据库驱动模块在接收到来自于所述数据采集模块、所述控制模块的数据库连接请求或者数据操作指令后,根据所述数据库中存储的所述第一用户组用户、所述第二用户组用户的身份验证信息以及所述第一用户组用户、所述第二用户组用户对应的所述第一数据库操作权限和所述第二数据库操作权限对相应的数据库连接请求或数据操作指令进行响应。在本发明实施例的技术方案中,通过所述数据库驱动模块对所述数据采集模块和所述控制模块的数据库访问权限进行限制,使所述数据采集模块的权限范围仅限于指定数据库下指定数据表,且仅具有特定数据表的数据插入权限和特定数据表的数据更新的权限,而不具备这些数据表的数据读取、数据删除以及其它管理权限;同样的,所述控制模块的权限范围仅限于指定数据库下指定数据表,且仅具有特定数据表的数据插入权限、特定数据表的数据更新权限和特定数据表的数据读取的权限,而不具备这些数据表的数据删除以及其它管理权限。从而保障了所述数据库中的数据安全,避免未知第三方程序利用所述数据采集模块或者所述控制模块的数据库访问权限非法获取所述数据库中的数据。
进一步的,在上述的数据库管理系统中,所述拦截器拦截所述数据采集模块、所述控制模块以及所述数据库驱动模块之间的异常通信数据具体包括:
当所述数据采集模块或所述控制模块以不同于所述第一用户组用户或第二用户组用户的第三用户组用户通过所述数据库驱动模块请求与所述数据库建立连接时,所述拦截器拦截所述连接请求。通常情况下,采用所述数据库驱动模块对来自于所述数据采集模块或所述控制模块的数据库访问权限进行控制已经足以保障所述数据库内的数据安全。但为了提供其它具备更高权限的用户或程序对数据库的维度和管理,所述数据库中还存储有比所述第一用户组用户和所述第二用户组用户具备更高数据库操作权限的用户鉴权信息。而对于所述数据库驱动模块,只要通过其与数据库建立连接的用户鉴权信息与所述数据库存储的用户鉴权信息相匹配,即被认定为是合法用户,从而所述生产控制设备端的网络容易被利用作为登录超出所述第一用户组用户或第二用户组用户的操作权限的第三用户组用户对数据库中进行操作,以窃取或破坏所述数据库中的数据。所述拦截器的设置可以避免上述问题的发生。所述拦截器为独立于所述数据库驱动模块的硬件或软件模块,其通过对所述数据采集模块或所述控制模块发往所述数据库驱动模块的数据包进行解析和识别,当所述数据采集模块或所述控制模块发往所述数据库驱动模块的数据为通过所述数据库驱动模块请求与所述数据库建立连接的请求数据时,从所述数据采集模块的所述连接请求数据中确认是否为所述第一用户组用户的连接请求,或从所述控制模块的所述连接请求数据中确认是否为所述第二用户组用户的连接请求,如果为否,则所述拦截器直接拦截所述连接请求而不发往所述数据库驱动模块。
进一步的,在上述的数据库管理系统中,所述数据采集模块在以所述第一用户组用户与所述数据库建立连接后,直接向所述数据库驱动模块发送访问所述数据库的数据操作指令。在工业制造系统中,生产数据的实时性是非常重要的,特别是生产过程中依赖于数据采集模块所采集的数据对相应的生产控制设备进行实时控制的场景,而所述拦截器的设置,由于需要对通过的所有数据包进行解析以匹配安全规则,不可避免地会给数据和控制指令的传输带来延迟,特别是所述数据采集模块从所述生产控制设备中采集到数据往往具有非常庞大的数据体量。在本发明一些实施例的技术方案中,所述数据采集模块与所述数据库建立连接的鉴权过程通过所述拦截器与所述数据库驱动模块进行交互,在所述数据采集模块完成鉴权过程,所述拦截器与所述数据库驱动模块都确认所述数据采集模块的当前连接为合法连接时,所述数据采集模块从所述生产控制设备所采集到的数据直接通过所述数据库驱动模块发送访问所述数据库的数据操作指令,即数据记录的插入指令或数据记录的更新指令。由于所述第一用户组用户所具有的第一数据库操作权限仅包括insert权限和update权限,任何个人或程序均无法通过所述生产控制设备连接所述数据采集模块后假借所述数据采集模块的名义从所述数据库中窃取或删除数据。
在上述实施方式中,所述数据采集模块还包括缓存子模块,所述缓存子模块用于存储所述数据采集模块向所述数据库驱动模块发送的数据包队列,如图2所示,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,在所述数据采集模块收到对应所发送的数据包的应答报文之前,暂不回收对应所述数据包的内存,所述缓存子模块存储有等候应答队列,所述等候应答队列内存储有一系列的地址指针,所述地址指针指向未收到应答报文的数据包在所述缓存子模块中的缓存地址。所述数据采集模块向所述数据库驱动模块发送的数据包中携带所述数据包在所述缓存子模块中的地址指针信息。
所述数据库驱动模块接收到所述数据采集模块所发送的数据包后,对所述数据包的数量进行计数,同时周期性向所述拦截器发送已接收未应答的数据包数量n,请求获取所述拦截器的工作状态。当所述拦截器在当前待解析报文数量大预设的第一阈值,且所述已接收未应答的数据包数量n小于预设的第二阈值时,向所述数据库驱动模块返回繁忙状态,否则,所述拦截器根据所述数据驱动模块发送的已接收未应答的数据包数量n确定一个随机数序列{p1,p2,…,pm}以及发送周期t,其中,pm为第m个应答报文中包含的所述已接收未应答的数据包地址指针信息的数量,即所述随机数序列与n值的关系满足
所述数据采集模块根据所述随机数序列将所述n个已接收未应答的数据包划分为m组,并对应生成每组所述数据包的应答报文,所述应答报文中携带有对应的一个或多个数据包在所述缓存子模块中的地址指针信息,以所述应答报文发送周期t为发送周期向所述拦截器发送应答报文。所述拦截器根据所述应答报文的发送周期、应答报文的数量以及每个应答报文对应的数据包数量,即可确定所述应答报文是否属于异常通讯信息,确定为否,则将所述应答报文转发给所述数据采集模块。所述数据采集模块接收到所述应答报文后,根据所述应答报文中的地址指针信息回收所述缓存子模块所保存的数据包队列中对应数据包的内存空间以供后续的数据包使用。采用该实施方式,可以不需要对应答报文的报文内容进行规则匹配,从而节省报文的解析时间。
进一步的,在上述的数据库管理系统中,所述拦截器拦截所述数据采集模块、所述控制模块以及所述数据库驱动模块之间的异常通信数据具体包括:
当所述数据采集模块以所述第一用户组用户连接所述数据库驱动模块后,以超出所述第一数据库操作权限的第一数据操作指令访问所述数据库时,如果所述第一数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述数据采集模块的数据;如果所述第一数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第一数据操作指令对应第一逆向数据操作指令以使所述数据库的数据还原到执行所述第一数据操作指令前的状态;或者,当所述控制模块以所述第二用户组用户连接所述数据库驱动模块后,以超出所述第二数据库操作权限的第二数据操作指令访问所述数据库时,如果所述第二数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述控制模块的数据;如果所述第二数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第二数据操作指令对应第二逆向数据操作指令以使所述数据库的数据还原到执行所述第二数据操作指令前的状态。为了避免任何个人或者程序通过所述生产控制设备连接所述数据采集模块或者所述控制模块后通过暴力破解或者其它破解手段提升所述第一用户组用户或第二用户组用户的数据库操作权限,从而借用所述第一用户组用户或第二用户组用户通过所述数据采集模块或者所述控制模块连接所述数据库后进行窃取或者破坏所述数据库中的数据,所述拦截器还对所述数据库驱动模块发往所述数据采集模块或所述控制模块的所有数据包进行解析以匹配安全规则。所述数据库驱动模块发往所述数据采集模块或所述控制模块的数据是所述数据采集模块或所述控制模块向所述数据库驱动模块发送的第一数据库操作指令或第二数据库操作指令的反馈结果,所述拦截器通过对所述反馈结果的分析,可以识别出所述数据采集模块或所述控制模块向所述数据库驱动模块发送的第一数据库操作指令或第二数据库操作指令,从而确认所述第一数据库操作指令或所述第二数据库操作指令是否超出所述第一数据库操作权限或所述所述第二数据库操作权限。进一步的,如果所述第一数据库操作指令或所述第二数据库操作指令超出所述第一数据库操作权限或所述所述第二数据库操作权限,例如,在本发明的一些实施例中,所述拦截器识别出所述数据库驱动模块发往所述数据采集模块的数据为通过select指令获取到的数据结果集合,而所述select指令超出了所述第一数据库操作权限,则所述拦截器拦截所述数据结果集合不发往所述数据采集模块。在本发明的另一些实施例中,所述拦截器识别出所述数据库驱动模块发往所述控制模块的数据为通过delete指令进行数据记录删除后反馈的数据记录删除成功的结果,而所述delete指令超出了所述第二数据库操作权限,则所述拦截器拦截所述数据记录删除成功的结果不发放所述控制模块,同时通过所述数据库驱动模块向所述数据库发送所述所述delete指令对应的逆向操作即insert指令,将所述delete指令所删除的记录重新插入对应的数据表当中以将相应数据表中的数据还原到执行所述delete指令前的状态。
如图3所示,在上述的数据库管理系统中,所述拦截器包括传输驱动模块、拦截驱动模块以及网络适配器驱动模块,所述传输驱动模块用于提供应用程使用的数据传输接口、所述网络适配器驱动模块用于数据的发送和接收,所述拦截驱动模块设置于所述传输驱动模块和所述网络适配器驱动模块之间,用于截获较为底层的数据包进行分析。所述拦截驱动模块包括与所述传输驱动模块连接的输入缓冲子模块以及输出缓冲子模块,用于缓冲输入输出数据。所述拦截驱动模块还包括与所述网络适配器驱动模块连接的数据包解析子模块,用于对所述传输驱动模块与所述网络适配器驱动模块间传输的数据包进行解析以识别并确认所述数据包中是否包含所述异常通讯数据。
如图4所示,在上述的数据库管理系统中,所述数据包解析子模块从所述传输驱动模块与所述网络适配器驱动模块间传输数据中读取数据包,根据所述数据包的协议字段确认该数据包是否为IP数据包,是则对其进行IP分组分析,并确认其是TCP报文还是UDP报文,从而根据相应的报文格式对报文数据进行解析。下表是IP数据包的头部格式,通过获取IP数据包的头部信息,可以对报文的类型进行识别并进一步对其报文数据进行解析:
以TCP报文为示例,TCP报文被封装在IPC数据包中,下表是一个包整的IP数据包,其包含IP头部、TCP头部和TCP数据:
IP头部 TCP头部 TCP数据
下表是TCP报文的数据格式:
在本发明实施例的技术方案中,所述IP数据包中,每个TCP报文中包含有多个MYSQL协议包,在每个所述MYSQL协议包中包含有相应的MYSQL操作指令或者MYSQL数据记录,如下表所示,每个MYSQL协议包中包含有24位的总长度、8位的序号以及数据内容:
总长度(24位) 序号(8位) 数据
根据MYSQL协议包的格式,从所述MYSQL协议包可以解析得到需要的内容,包括数据库的操作指令数据库名称、数据表名称、字段名称以及对应的数据记录等。例如,在前述确认所述第一数据库操作指令或所述第二数据库操作指令是否超出所述第一数据库操作权限或所述所述第二数据库操作权限的步骤中,通过对所述数据库驱动模块向所述数据采集模块或所述控制模块发送的数据包进行解析,通过IP数据包的头部信息中的32位目标IP地址即可确认所述IP数据包的发送目标,即确定其是来发往所述数据采集模块还是所述控制模块,进一步对所述IPC数据包中的TCP报文进行解析,从所述TCP报文的数据中提取每一个所述MYSQL协议包从而识别所述MYSQL协议包所携带的MYSQL操作指令或MYSQL数据记录,当所述MYSQL操作指令超出所述第一数据库操作权限或所述所述第二数据库操作权限时,拦截所述IP数据包不允许发往所述数据采集模块或所述控制模块。
进一步的,在上述的数据库管理系统中,为了提升所述拦截器的数据包解析速度,利用所述数据包解析子模块中存储的数据包分类规则库对发送和接收的数据包进行分类,对不同分类的数据包采用不同的解析方案,从而避免对所有的数据包均做全文解析以识别所述数据包是否属于异常通讯数据。具体地,所述数据包解析子模块被配置为:
分配存储所述分类规则库的存储空间,对所述分类规则库进行初始化,例如在所述分类规则库存储空间中将每条规则设置为NULL(空指针)值;
对所述分类规则库中的每条规则地址进行哈希运算以得到相应规则的哈希地址;
将每条规则对应的所述数据采集模块或者所述控制模块的地址标识以及相应的分类规则存储在对应所述哈希地址的存储空间中。
进一步的,在上述的数据库管理系统中,所述数据包解析子模块接收所述输入缓冲子模块或者所述网络适配器驱动模块发送的数据包后,所述数据包解析子模块被配置为:
从所述数据包中读取源IP地址、目标IP地址、源端口号、目标端口号、协议类型以及数据包总长度;
根据所述源IP地址或所述目标IP地址从所述分类规则库中匹配相应的数据包分类规则;
按照所述数据包分类规则对所述数据包进行处理。
采用上述实施方式的技术方案,利用数据包头部信息按照预设规则对数据包进行分类,从而避免对所有的数据包均做全文解析以识别所述数据包是否属于异常通讯数据。本发明的第二方面提出了一种应用于工业互联网的数据库管理系统控制方法,所述数据库管理系统包括数据服务设备和数据库,所述数据服务设备包括与生产控制设备连接用于从所述生产控制设备采集实时的生产数据的数据采集模块、与所述生产控制设备连接用于接收控制设备的控制指令对所述生产控制设备进行控制的控制模块、与所述数据库连接用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作的数据库驱动模块以及与所述数据库驱动模块、所述数据采集模块、所述控制模块连接的用于拦截异常数据的拦截器,所述控制方法包括:
所述数据库驱动模块接收所述数据采集模块以具有第一数据库操作权限的第一用户组用户的第一连接请求,并在验证所述第一连接请求通过后,建立所述数据采集模块与所述数据库的通信连接;
所述数据库驱动模块接收所述控制模块以具有第二数据库操作权限的第二用户组用户的第二连接请求,并在验证所述第二连接请求通过后,建立所述控制模块与所述数据库的通信连接;
所述拦截器接收所述数据采集模块与所述数据库驱动模块之间的第一通信数据,以及所述控制模块与所述数据库驱动模块之间的第二通信数据,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据。
在本发明实施例的技术方案中,所述生产控制设备是指被安装于工业制造系统现场或集成于各种工业生产设备上,对工业生产设备进行数据采集、检测和控制的设备,所述生产控制设备包括但不限于DCS(Distributed Control System,分散控制系统)、FCS(Fieldbus Control System,现场总线控制系统)、CNC(Computerized NumericalControl,计算机数字控制技术/数控机床)、MC(Machine Center,数控加工中心)、PLC(Programmable Logic Controller,可编程逻辑控制器)、各种仪表以及阀门等中的一个或多个。
在本发明实施例的技术方案中,所述数据服务设备可以是一个独立的设备,例如与所述生产控制设备连接的用于实现工业制造系统数据服务和控制服务一台服务器。所述数据服务设备也可以是多台不同功能的设备的集合,例如,所述数据服务设备可以由一台包括所述数据库驱动模块用于连接所述数据库的数据库驱动服务器、一台包括Web服务的服务器或应用程序服务用于提供所述工业制造系统控制和管理的服务器、一台包括所述数据采集模块的数据采集服务器以及采用独立设备实现数据拦截功能的拦截器组成。应当知道的是,所述数据库驱动模块、所述数据采集模块、所述控制模块以及所述拦截器均可以采用硬件或软件的方式实现,本领域技术人员根据成本或者安装配置方面的考量,可以对其进行任意组合,本发明对此不作限定。在本发明一些实施方式中,所述数据库管理系统还包括控制设备,所述控制设备可以是通过互联网、移动通信网络与所述数据服务设备连接的远程控制设备,例如云服务器或者PC、智能手机等。所述控制设备还可以是通过本地有线或无线网络与所述数据服务设备连接的本地控制设备,例如安装于本地控制室内的工作站或者服务器等。
本发明提出一种应用于工业互联网的数据库管理系统及其控制方法,所述数据库管理系统包括数据服务设备和数据库,所述数据服务设备包括与生产控制设备连接用于从所述生产控制设备采集实时的生产数据的数据采集模块、与所述生产控制设备连接用于接收控制设备的控制指令对所述生产控制设备进行控制的控制模块、与所述数据库连接用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作的数据库驱动模块以及与所述数据库驱动模块、所述数据采集模块、所述控制模块连接的用于拦截异常数据的拦截器,所述控制方法包括:所述数据库驱动模块接收所述数据采集模块以具有第一数据库操作权限的第一用户组用户的第一连接请求,并在验证所述第一连接请求通过后,建立所述数据采集模块与所述数据库的通信连接;所述数据库驱动模块接收所述控制模块以具有第二数据库操作权限的第二用户组用户的第二连接请求,并在验证所述第二连接请求通过后,建立所述控制模块与所述数据库的通信连接;所述拦截器接收所述数据采集模块与所述数据库驱动模块之间的第一通信数据,以及所述控制模块与所述数据库驱动模块之间的第二通信数据,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据,可以提高工业互联网的信息安全。
进一步的,在上述的数据库管理系统控制方法中,所述第一数据库操作权限由insert权限、update权限以及excute权限组成,所述第二数据库操作权限由insert权限、update权限、excute权限和select权限组成。在本发明实施例的技术方案中,所述数据库中存储有所述第一用户组用户、所述第二用户组用户的身份验证信息以及所述第一用户组用户、所述第二用户组用户对应的所述第一数据库操作权限和所述第二数据库操作权限。所述数据库驱动模块在接收到来自于所述数据采集模块、所述控制模块的数据库连接请求或者数据操作指令后,根据所述数据库中存储的所述第一用户组用户、所述第二用户组用户的身份验证信息以及所述第一用户组用户、所述第二用户组用户对应的所述第一数据库操作权限和所述第二数据库操作权限对相应的数据库连接请求或数据操作指令进行响应。在本发明实施例的技术方案中,通过所述数据库驱动模块对所述数据采集模块和所述控制模块的数据库访问权限进行限制,使所述数据采集模块的权限范围仅限于指定数据库下指定数据表,且仅具有特定数据表的数据插入权限和特定数据表的数据更新的权限,而不具备这些数据表的数据读取、数据删除以及其它管理权限;同样的,所述控制模块的权限范围仅限于指定数据库下指定数据表,且仅具有特定数据表的数据插入权限、特定数据表的数据更新权限和特定数据表的数据读取的权限,而不具备这些数据表的数据删除以及其它管理权限。从而保障了所述数据库中的数据安全,避免未知第三方程序利用所述数据采集模块或者所述控制模块的数据库访问权限非法获取所述数据库中的数据。
进一步的,在上述的数据库管理系统控制方法中,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据的步骤具体包括:
当所述数据采集模块或所述控制模块以不同于所述第一用户组用户或第二用户组用户的第三用户组用户通过所述数据库驱动模块请求与所述数据库建立连接时,所述拦截器拦截所述连接请求。通常情况下,采用所述数据库驱动模块对来自于所述数据采集模块或所述控制模块的数据库访问权限进行控制已经足以保障所述数据库内的数据安全。但为了提供其它具备更高权限的用户或程序对数据库的维度和管理,所述数据库中还存储有比所述第一用户组用户和所述第二用户组用户具备更高数据库操作权限的用户鉴权信息。而对于所述数据库驱动模块,只要通过其与数据库建立连接的用户鉴权信息与所述数据库存储的用户鉴权信息相匹配,即被认定为是合法用户,从而所述生产控制设备端的网络容易被利用作为登录超出所述第一用户组用户或第二用户组用户的操作权限的第三用户组用户对数据库中进行操作,以窃取或破坏所述数据库中的数据。所述拦截器的设置可以避免上述问题的发生。所述拦截器为独立于所述数据库驱动模块的硬件或软件模块,其通过对所述数据采集模块或所述控制模块发往所述数据库驱动模块的数据包进行解析和识别,当所述数据采集模块或所述控制模块发往所述数据库驱动模块的数据为通过所述数据库驱动模块请求与所述数据库建立连接的请求数据时,从所述数据采集模块的所述连接请求数据中确认是否为所述第一用户组用户的连接请求,或从所述控制模块的所述连接请求数据中确认是否为所述第二用户组用户的连接请求,如果为否,则所述拦截器直接拦截所述连接请求而不发往所述数据库驱动模块。
进一步的,在上述的数据库管理系统控制方法中,所述数据采集模块在以所述第一用户组用户与所述数据库建立连接后,直接向所述数据库驱动模块发送访问所述数据库的数据操作指令。在工业制造系统中,生产数据的实时性是非常重要的,特别是生产过程中依赖于数据采集模块所采集的数据对相应的生产控制设备进行实时控制的场景,而所述拦截器的设置,由于需要对通过的所有数据包进行解析以匹配安全规则,不可避免地会给数据和控制指令的传输带来延迟,特别是所述数据采集模块从所述生产控制设备中采集到数据往往具有非常庞大的数据体量。在本发明一些实施例的技术方案中,所述数据采集模块与所述数据库建立连接的鉴权过程通过所述拦截器与所述数据库驱动模块进行交互,在所述数据采集模块完成鉴权过程,所述拦截器与所述数据库驱动模块都确认所述数据采集模块的当前连接为合法连接时,所述数据采集模块从所述生产控制设备所采集到的数据直接通过所述数据库驱动模块发送访问所述数据库的数据操作指令,即数据记录的插入指令或数据记录的更新指令。由于所述第一用户组用户所具有的第一数据库操作权限仅包括insert权限和update权限,任何个人或程序均无法通过所述生产控制设备连接所述数据采集模块后假借所述数据采集模块的名义从所述数据库中窃取或删除数据。
在上述实施方式中,所述数据采集模块还包括缓存子模块,所述缓存子模块用于存储所述数据采集模块向所述数据库驱动模块发送的数据包队列,如图2所示,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,在所述数据采集模块收到对应所发送的数据包的应答报文之前,暂不回收对应所述数据包的内存,所述缓存子模块存储有等候应答队列,所述等候应答队列内存储有一系列的地址指针,所述地址指针指向未收到应答报文的数据包在所述缓存子模块中的缓存地址。所述数据采集模块向所述数据库驱动模块发送的数据包中携带所述数据包在所述缓存子模块中的地址指针信息。
所述数据库驱动模块接收到所述数据采集模块所发送的数据包后,对所述数据包的数量进行计数,同时周期性向所述拦截器发送已接收未应答的数据包数量n,请求获取所述拦截器的工作状态。当所述拦截器在当前待解析报文数量大预设的第一阈值,且所述已接收未应答的数据包数量n小于预设的第二阈值时,向所述数据库驱动模块返回繁忙状态,否则,所述拦截器根据所述数据驱动模块发送的已接收未应答的数据包数量n确定一个随机数序列{p1,p2,…,pm}以及发送周期t,其中,pm为第m个应答报文中包含的所述已接收未应答的数据包地址指针信息的数量,即所述随机数序列与n值的关系满足
所述数据采集模块根据所述随机数序列将所述n个已接收未应答的数据包划分为m组,并对应生成每组所述数据包的应答报文,所述应答报文中携带有对应的一个或多个数据包在所述缓存子模块中的地址指针信息,以所述应答报文发送周期t为发送周期向所述拦截器发送应答报文。所述拦截器根据所述应答报文的发送周期、应答报文的数量以及每个应答报文对应的数据包数量,即可确定所述应答报文是否属于异常通讯信息,确定为否,则将所述应答报文转发给所述数据采集模块。所述数据采集模块接收到所述应答报文后,根据所述应答报文中的地址指针信息回收所述缓存子模块所保存的数据包队列中对应数据包的内存空间以供后续的数据包使用。采用该实施方式,可以不需要对应答报文的报文内容进行规则匹配,从而节省报文的解析时间。
进一步的,在上述的数据库管理系统控制方法中,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据的步骤具体包括:
当所述数据采集模块以所述第一用户组用户连接所述数据库驱动模块后,以超出所述第一数据库操作权限的第一数据操作指令访问所述数据库时,如果所述第一数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述数据采集模块的数据;如果所述第一数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第一数据操作指令对应第一逆向数据操作指令以使所述数据库的数据还原到执行所述第一数据操作指令前的状态;或者,当所述控制模块以所述第二用户组用户连接所述数据库驱动模块后,以超出所述第二数据库操作权限的第二数据操作指令访问所述数据库时,如果所述第二数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述控制模块的数据;如果所述第二数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第二数据操作指令对应第二逆向数据操作指令以使所述数据库的数据还原到执行所述第二数据操作指令前的状态。为了避免任何个人或者程序通过所述生产控制设备连接所述数据采集模块或者所述控制模块后通过暴力破解或者其它破解手段提升所述第一用户组用户或第二用户组用户的数据库操作权限,从而借用所述第一用户组用户或第二用户组用户通过所述数据采集模块或者所述控制模块连接所述数据库后进行窃取或者破坏所述数据库中的数据,所述拦截器还对所述数据库驱动模块发往所述数据采集模块或所述控制模块的所有数据包进行解析以匹配安全规则。所述数据库驱动模块发往所述数据采集模块或所述控制模块的数据是所述数据采集模块或所述控制模块向所述数据库驱动模块发送的第一数据库操作指令或第二数据库操作指令的反馈结果,所述拦截器通过对所述反馈结果的分析,可以识别出所述数据采集模块或所述控制模块向所述数据库驱动模块发送的第一数据库操作指令或第二数据库操作指令,从而确认所述第一数据库操作指令或所述第二数据库操作指令是否超出所述第一数据库操作权限或所述所述第二数据库操作权限。进一步的,如果所述第一数据库操作指令或所述第二数据库操作指令超出所述第一数据库操作权限或所述所述第二数据库操作权限,例如,在本发明的一些实施例中,所述拦截器识别出所述数据库驱动模块发往所述数据采集模块的数据为通过select指令获取到的数据结果集合,而所述select指令超出了所述第一数据库操作权限,则所述拦截器拦截所述数据结果集合不发往所述数据采集模块。在本发明的另一些实施例中,所述拦截器识别出所述数据库驱动模块发往所述控制模块的数据为通过delete指令进行数据记录删除后反馈的数据记录删除成功的结果,而所述delete指令超出了所述第二数据库操作权限,则所述拦截器拦截所述数据记录删除成功的结果不发放所述控制模块,同时通过所述数据库驱动模块向所述数据库发送所述所述delete指令对应的逆向操作即insert指令,将所述delete指令所删除的记录重新插入对应的数据表当中以将相应数据表中的数据还原到执行所述delete指令前的状态。
进一步的,在上述的数据库管理系统控制方法中,为了提升所述拦截器的数据包解析速度,利用所述数据包解析子模块中存储的数据包分类规则库对发送和接收的数据包进行分类,对不同分类的数据包采用不同的解析方案,从而避免对所有的数据包均做全文解析以识别所述数据包是否属于异常通讯数据。具体地,所述数据包解析子模块被配置为:
分配存储所述分类规则库的存储空间,对所述分类规则库进行初始化,例如在所述分类规则库存储空间中将每条规则设置为NULL(空指针)值;
对所述分类规则库中的每条规则地址进行哈希运算以得到相应规则的哈希地址;
将每条规则对应的所述数据采集模块或者所述控制模块的地址标识以及相应的分类规则存储在对应所述哈希地址的存储空间中。
进一步的,在上述的数据库管理系统控制方法中,所述数据包解析子模块接收所述输入缓冲子模块或者所述网络适配器驱动模块发送的数据包后,所述数据包解析子模块被配置为:
从所述数据包中读取源IP地址、目标IP地址、源端口号、目标端口号、协议类型以及数据包总长度;
根据所述源IP地址或所述目标IP地址从所述分类规则库中匹配相应的数据包分类规则;
按照所述数据包分类规则对所述数据包进行处理。
采用上述实施方式的技术方案,利用数据包头部信息按照预设规则对数据包进行分类,从而避免对所有的数据包均做全文解析以识别所述数据包是否属于异常通讯数据。
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (6)

1.一种应用于工业互联网的数据库管理系统,其特征在于,包括数据服务设备和数据库,所述数据服务设备包括:
数据采集模块,与生产控制设备连接,用于从所述生产控制设备采集实时的生产数据;
控制模块,与所述生产控制设备连接,用于接收控制设备的控制指令对所述生产控制设备进行控制;
数据库驱动模块,与所述数据库连接,用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作,所述数据采集模块以具有第一数据库操作权限的第一用户组用户通过所述数据库驱动模块与所述数据库建立连接,所述控制模块以具有第二数据库操作权限的第二用户组用户通过所述数据库驱动模块与所述数据库建立连接;
拦截器,设置于所述数据采集模块、所述控制模块以及所述数据库驱动模块之间,用于拦截所述数据采集模块、所述控制模块以及所述数据库驱动模块之间的异常通信数据;
所述数据采集模块在以所述第一用户组用户与所述数据库建立连接后,直接向所述数据库驱动模块发送访问所述数据库的数据操作指令;
所述数据采集模块还包括缓存子模块,所述缓存子模块用于存储所述数据采集模块向所述数据库驱动模块发送的数据包队列,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,在所述数据采集模块收到对应所发送的数据包的应答报文之前,暂不回收对应所述数据包的内存,所述缓存子模块存储有等候应答队列,所述等候应答队列内存储有一系列的地址指针,所述地址指针指向未收到应答报文的数据包在所述缓存子模块中的缓存地址。
2.根据权利要求1所述的数据库管理系统,其特征在于,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,还包括:
所述数据库驱动模块周期性向所述拦截器发送已接收未应答的数据包数量;
所述拦截器根据所述数据驱动模块发送的已接收未应答的数据包数量确定一个随机数序列以及发送周期发送给所述数据库驱动模块;
所述数据采集模块根据所述随机数序列将所述已接收未应答的数据包进行分组,并对应生成每组所述数据包的应答报文发送给所述拦截器;
所述拦截器根据所述应答报文的发送周期、应答报文的数量以及每个应答报文对应的数据包数量确定所述应答报文是否属于异常通讯信息;
确定为否,则将所述应答报文转发给所述数据采集模块以使所述数据采集模块接收到所述应答报文后根据所述应答报文中的地址指针信息回收所述缓存子模块所保存的数据包队列中对应数据包的内存空间。
3.根据权利要求1-2任一项所述的数据库管理系统,其特征在于,所述拦截器拦截所述数据采集模块、所述控制模块以及所述数据库驱动模块之间的异常通信数据具体包括:
当所述数据采集模块以所述第一用户组用户连接所述数据库驱动模块后,以超出所述第一数据库操作权限的第一数据操作指令访问所述数据库时,如果所述第一数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述数据采集模块的数据;如果所述第一数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第一数据操作指令对应第一逆向数据操作指令以使所述数据库的数据还原到执行所述第一数据操作指令前的状态;或者,
当所述控制模块以所述第二用户组用户连接所述数据库驱动模块后,以超出所述第二数据库操作权限的第二数据操作指令访问所述数据库时,如果所述第二数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述控制模块的数据;如果所述第二数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第二数据操作指令对应第二逆向数据操作指令以使所述数据库的数据还原到执行所述第二数据操作指令前的状态。
4.一种应用于工业互联网的数据库管理系统控制方法,其特征在于,所述数据库管理系统包括数据服务设备和数据库,所述数据服务设备包括与生产控制设备连接用于从所述生产控制设备采集实时的生产数据的数据采集模块、与所述生产控制设备连接用于接收控制设备的控制指令对所述生产控制设备进行控制的控制模块、与所述数据库连接用于接收所述数据采集模块或所述控制模块的数据操作指令对所述数据库的数据进行增、删、改、查操作的数据库驱动模块以及与所述数据库驱动模块、所述数据采集模块、所述控制模块连接的用于拦截异常数据的拦截器,所述控制方法包括:
所述数据库驱动模块接收所述数据采集模块以具有第一数据库操作权限的第一用户组用户的第一连接请求,并在验证所述第一连接请求通过后,建立所述数据采集模块与所述数据库的通信连接;
所述数据库驱动模块接收所述控制模块以具有第二数据库操作权限的第二用户组用户的第二连接请求,并在验证所述第二连接请求通过后,建立所述控制模块与所述数据库的通信连接;
所述拦截器接收所述数据采集模块与所述数据库驱动模块之间的第一通信数据,以及所述控制模块与所述数据库驱动模块之间的第二通信数据,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据;
所述数据采集模块在以所述第一用户组用户与所述数据库建立连接后,直接向所述数据库驱动模块发送访问所述数据库的数据操作指令;
所述数据采集模块还包括缓存子模块,所述缓存子模块用于存储所述数据采集模块向所述数据库驱动模块发送的数据包队列,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,在所述数据采集模块收到对应所发送的数据包的应答报文之前,暂不回收对应所述数据包的内存,所述缓存子模块存储有等候应答队列,所述等候应答队列内存储有一系列的地址指针,所述地址指针指向未收到应答报文的数据包在所述缓存子模块中的缓存地址。
5.根据权利要求4所述的数据库管理系统控制方法,其特征在于,在所述数据采集模块直接向所述数据库驱动模块发送访问所述数据库的数据操作指令之后,还包括:
所述数据库驱动模块周期性向所述拦截器发送已接收未应答的数据包数量;
所述拦截器根据所述数据驱动模块发送的已接收未应答的数据包数量确定一个随机数序列以及发送周期发送给所述数据库驱动模块;
所述数据采集模块根据所述随机数序列将所述已接收未应答的数据包进行分组,并对应生成每组所述数据包的应答报文发送给所述拦截器;
所述拦截器根据所述应答报文的发送周期、应答报文的数量以及每个应答报文对应的数据包数量确定所述应答报文是否属于异常通讯信息;
确定为否,则将所述应答报文转发给所述数据采集模块以使所述数据采集模块接收到所述应答报文后根据所述应答报文中的地址指针信息回收所述缓存子模块所保存的数据包队列中对应数据包的内存空间。
6.根据权利要求4-5任一项所述的数据库管理系统控制方法,其特征在于,当所述第一通信数据或所述第二通信数据为异常通信数据时,拦截所述通信数据的步骤具体包括:
当所述数据采集模块以所述第一用户组用户连接所述数据库驱动模块后,以超出所述第一数据库操作权限的第一数据操作指令访问所述数据库时,如果所述第一数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述数据采集模块的数据;如果所述第一数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第一数据操作指令对应第一逆向数据操作指令以使所述数据库的数据还原到执行所述第一数据操作指令前的状态;或者,
当所述控制模块以所述第二用户组用户连接所述数据库驱动模块后,以超出所述第二数据库操作权限的第二数据操作指令访问所述数据库时,如果所述第二数据操作指令成功从所述数据库获取到数据,所述拦截器拦截所述数据库驱动模块发往所述控制模块的数据;如果所述第二数据操作指令使所述数据库的数据发生变化时,对所述数据库执行所述第二数据操作指令对应第二逆向数据操作指令以使所述数据库的数据还原到执行所述第二数据操作指令前的状态。
CN202210411635.5A 2022-04-19 2022-04-19 一种应用于工业互联网的数据库管理系统及其控制方法 Active CN114785840B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210411635.5A CN114785840B (zh) 2022-04-19 2022-04-19 一种应用于工业互联网的数据库管理系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210411635.5A CN114785840B (zh) 2022-04-19 2022-04-19 一种应用于工业互联网的数据库管理系统及其控制方法

Publications (2)

Publication Number Publication Date
CN114785840A CN114785840A (zh) 2022-07-22
CN114785840B true CN114785840B (zh) 2024-05-07

Family

ID=82431921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210411635.5A Active CN114785840B (zh) 2022-04-19 2022-04-19 一种应用于工业互联网的数据库管理系统及其控制方法

Country Status (1)

Country Link
CN (1) CN114785840B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944915A (zh) * 2014-04-29 2014-07-23 浙江大学 一种工业控制系统威胁检测防御装置、系统及方法
CN112363461A (zh) * 2020-09-17 2021-02-12 金航数码科技有限责任公司 一种工业现场数据采集与控制系统
CN113119124A (zh) * 2021-04-13 2021-07-16 北京航空航天大学 一种机器人控制系统的安全防护系统
CN113849483A (zh) * 2021-09-29 2021-12-28 中国兵器装备集团自动化研究所有限公司 一种用于智能工厂的实时数据库系统架构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5157763B2 (ja) * 2008-09-02 2013-03-06 アイコム株式会社 データ通信制御装置、データ通信方法、データ通信システム及びデータ通信プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944915A (zh) * 2014-04-29 2014-07-23 浙江大学 一种工业控制系统威胁检测防御装置、系统及方法
CN112363461A (zh) * 2020-09-17 2021-02-12 金航数码科技有限责任公司 一种工业现场数据采集与控制系统
CN113119124A (zh) * 2021-04-13 2021-07-16 北京航空航天大学 一种机器人控制系统的安全防护系统
CN113849483A (zh) * 2021-09-29 2021-12-28 中国兵器装备集团自动化研究所有限公司 一种用于智能工厂的实时数据库系统架构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
热水控制系统信息采集与分布式管理的设计与实现;郭福田;刘心红;;牡丹江大学学报;20130725(第07期);全文 *

Also Published As

Publication number Publication date
CN114785840A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
US8782771B2 (en) Real-time industrial firewall
CN113536376B (zh) 一种企业财务数据安全管理系统及其方法
CN109510840B (zh) 非结构化数据的共享方法、装置、计算机设备和存储介质
KR102199054B1 (ko) 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법
US7333430B2 (en) Systems and methods for passing network traffic data
CN101309195A (zh) 一种在安全套接层虚拟专网保证服务质量的方法及装置
CN113051570B (zh) 服务器访问监控方法和装置
CN111240862A (zh) 一种通用接口平台以及数据转换方法
CN114679292A (zh) 基于网络空间测绘的蜜罐识别方法、装置、设备及介质
CN116319777A (zh) 一种基于边缘计算的智能网关业务处理方法
US8073938B2 (en) Information processing apparatus and method of operating the same
CN110008267B (zh) 一种数据处理的系统及方法
JP6138933B2 (ja) 制御監視システムおよび制御監視方法
CN114785840B (zh) 一种应用于工业互联网的数据库管理系统及其控制方法
CN103647774A (zh) 基于云计算的web内容信息过滤方法
CN111818021B (zh) 一种基于新一代信息技术的配置信息安全防护系统与方法
US8839452B1 (en) Access rights mechanism for corporate records
KR102206847B1 (ko) 하이브리드 보안 시스템 및 통합보안방법
CN104717188A (zh) 一种工业控制防火墙中资产对象安全防护系统和方法
CN114745616B (zh) 一种地下热信息远程监控预警系统和方法
CN116719868A (zh) 网络资产的识别方法、装置及设备
CN113821794B (zh) 一种分布式的可信计算系统及方法
JPH09325927A (ja) ネットワーク遠隔管理システム
CN102523580A (zh) 一种m2m业务终端数据处理方法、m2m业务卡和m2m终端数据处理卡
US11140001B2 (en) Method for providing data packets from a CAN bus, control device and system having a CAN bus

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