CN110780817B - 数据记录方法和装置、存储介质及电子装置 - Google Patents

数据记录方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN110780817B
CN110780817B CN201911003589.XA CN201911003589A CN110780817B CN 110780817 B CN110780817 B CN 110780817B CN 201911003589 A CN201911003589 A CN 201911003589A CN 110780817 B CN110780817 B CN 110780817B
Authority
CN
China
Prior art keywords
target
data
container
data structure
operating system
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
CN201911003589.XA
Other languages
English (en)
Other versions
CN110780817A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911003589.XA priority Critical patent/CN110780817B/zh
Publication of CN110780817A publication Critical patent/CN110780817A/zh
Application granted granted Critical
Publication of CN110780817B publication Critical patent/CN110780817B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及云技术相关领域,公开了一种数据记录方法和装置、存储介质及电子装置。其中,该方法包括:从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,其中,所述N为大于1的整数;将目标数据结构与目标容器绑定,其中,操作***对应于M个容器,每个容器中包括预定数量的中央处理器CPU,所述M为大于1的整数,目标容器为M个容器中处于运行状态的容器;在目标数据结构中记录目标容器的数据信息。本发明解决了高并发处理场景中由于共享数据结构导致数据冲突的技术问题。

Description

数据记录方法和装置、存储介质及电子装置
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据记录方法和装置、存储介质及电子装置。
背景技术
随着硬件平台的快速发展,高端服务器的CPU集成数量越来越多,硬件的并发能力也越来越强。而传统软件中制约高并发的瓶颈在于所有连接共享一个数据结构,因而在修改数据结构时不可避免的需要排队等待。这种情况下,并发连接规模越大,冲突就越明显。容器技术采用轻隔离技术,每个小组共用一份操作***,在操作***内部对部分关键数据结构进行隔离。但由于操作***中关键数据分散而且琐碎,现有的隔离在很多情况下没有达到隔离的效果。
针对现有技术中高并发处理场景中由于共享数据结构导致数据冲突的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据记录方法和装置、存储介质及电子装置,以至少解决高并发处理场景中由于共享数据结构导致数据冲突的技术问题。
根据本发明实施例的一个方面,提供了一种数据记录方法,包括:
从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,其中,所述N为大于1的整数;
将所述目标数据结构与目标容器绑定,其中,所述操作***对应于M个容器,每个所述容器中包括预定数量的中央处理器CPU,所述M为大于1的整数,所述目标容器为所述M个容器中处于运行状态的容器;
在所述目标数据结构中记录所述目标容器的数据信息。
根据本发明实施例的另一方面,还提供了一种数据记录装置,包括:
第一确定模块,用于从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,其中,所述N为大于1的整数;
绑定模块,用于将所述目标数据结构与目标容器绑定,其中,所述操作***对应于M个容器,每个所述容器中包括预定数量的中央处理器CPU,所述M为大于1的整数,所述目标容器为所述M个容器中处于运行状态的容器;
记录模块,用于在所述目标数据结构中记录所述目标容器的数据信息。
可选地,所述记录模块包括:
获取单元,用于获取所述目标容器中目标CPU的连接状态数据,其中,所述连接状态数据至少包括以下之一:所述目标CPU对应的网络协议,所述目标CPU对应的端口数据,所述目标CPU的连接状态参数;
记录单元,用于将所述目标CPU的连接状态数据记录在所述目标数据结构内。
可选地,所述第一确定模块包括:
确定单元,用于从所述N个数据结构中选择一个没有与任何容器绑定的数据结构,确定为所述目标数据结构。
可选地,所述装置还包括:
解除模块,用于当所述目标容器被注销后,解除所述目标容器与所述目标数据结构的绑定,以使所述目标数据结构恢复空闲状态。
可选地,所述装置还包括:
分配模块,用于在所述操作***启动的过程中,在所述操作***对应的数据库中分配N个数据结构,其中,所述数据结构包括:哈希数据表。
可选地,所述装置还包括:
第二确定模块,用于当所述目标容器被启动且所述N个数据结构中没有处于空闲状态的数据结构时,确定所述操作***对应的主机;
第三确定模块,用于将所述主机对应的数据结构确定为所述目标数据结构。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据记录方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的数据记录方法。
在本发明实施例中,通过在操作***中分配多个数据结构,为每一个处于运行状态的容器分配一个独立的数据结构,每个容器的数据信息可以记录在与自身绑定的数据结构中,达到了每个容器中的数据信息独立记录在不同数据结构中的目的,从而实现了在高并发场景下有效避免数据冲突的技术效果,进而解决了高并发处理场景中由于共享数据结构导致数据冲突的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的容器与操作***对应的结构框图;
图2是根据本发明实施例一种可选的数据记录方法的硬件环境示意图;
图3是根据本发明实施例的一种可选的数据记录方法的流程图;
图4是根据本发明实施例的一种可选的数据记录方法的流程图;
图5是根据本发明实施例的一种可选的容器与数据结构的绑定方法交互流程图;
图6是根据本发明实施例的一种可选的数据记录方法交互流程图;
图7是根据本发明实施例的数据记录装置的一种可选的结构框图;
图8是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例涉及云技术相关领域。云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
云存储是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储***(以下简称存储***)是指通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储***。
目前,存储***的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件***上,文件***将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,IDentity)等额外的信息,文件***将每个对象分别写入该逻辑卷的物理存储空间,且文件***会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件***能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储***为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。
所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理***(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件***,一般具有存储、截取、安全保障、备份等基础功能。数据库管理***可以依据它所支持的数据库模型来作分类,例如关系式、XML;或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
图1是根据本发明实施例的一种可选的容器与操作***对应的结构框图,如图1所示,容器技术采用轻隔离技术,每个小组共用一份操作***,并且可以操作***内部对一些基础数据结构进行隔离。例如,当前是4个CPU共用一个操作***时,每个CPU对应一个应用客户端APP,将每两个CPU组成一个一容器,相当于将大规模集成电路隔离成多个小规模的集成电路,从而缓解了大规模短连接下的数据表(数据结构)冲突。
本发明主要是基于容器技术,并针对大规模短连接这样的特有场景进行优化。短连接因为连接的生命周期较短,因此在单位时间内***对连接的管理操作相对长连接会更多,而并发的管理操作会导致冲突,如果是高集成的硬件上部署大规模的短连接,冲突就会十分严重。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。优点:不需要长期占用通道,对于业务频率不高的场合,能节省通道的使用。缺点:需要在每次发送业务时,都要建立一次连接,连接建立的过程开销大。容器技术隔离许多基本数据结构,但并未隔离维护连接状态的数据以及其他关键数据。尤其是容器之间的IP资源是隔离的,因此导致多个容器条件下可以生产的连接数量也大幅提高,更是加剧和凸显了管理连接状态操作的冲突。本发明实施例通过隔离维护连接状态的数据结构来减伤操作中的冲突,从而提高大规模短连接的并发性
图2是根据本发明实施例一种可选的数据记录方法的硬件环境示意图,如图2所示,该硬件环境可以包括但不限于用户设备102、网络110、服务器112,其中,用户设备102中可以包括但不限于存储器104、处理器106、显示器108,服务器112可以包括但不限于数据库114、处理引擎116。此处的用户设备可以但不限于是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。在图2所示的硬件场景中,用户设备102中可以包含APP,每个用户设备102对应一个CPU,该CPU对应的容器启动后,服务器112为容器分配处于空闲状态的数据结构,然后容器与分配的数据结构绑定后,可以在绑定的数据结构中记录该CPU产生的连接数据或交互数据(也可以理解为用户设备102中APP产生的连接数据或交互数据)。本发明实施例的数据记录方法一种可选的实现步骤如下:
步骤S102,用户设备102对应的容器启动,并产生客户端请求;
步骤S104,并将产生的客户端请求发送到网络端110,并指示网络端110将客户端请求发送到服务器112;
步骤S106,网络端110将客户端请求转发给服务器112;
步骤S108,服务器112在用户设备102对应的容器启动时,从容器对应的操作***中找到一个空闲的数据结构,分配给该容器,然后服务器112在接收到客户端请求后,可以为该客户端请求分配网络端口,并将网络端口的信息和/或网络传输协议保存在容器绑定的数据结构中,同时也可以将用户设备102中APP产生的交互数据保存在容器绑定的数据结构中。
可选地,在本发明实施例中,上述数据记录方法可以但不限于应用于服务器112中,用户设备102可以但不限于为手机、平板电脑、笔记本电脑、PC机等支持运行应用客户端的终端设备。上述服务器112、用户设备102可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,步骤S106可以通过以下步骤实现:从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,其中,所述N为大于1的整数;将所述目标数据结构与目标容器绑定,其中,所述操作***对应于M个容器,每个所述容器中包括预定数量的中央处理器CPU,所述M为大于1的整数,所述目标容器为所述M个容器中处于运行状态的容器;在所述目标数据结构中记录所述目标容器的数据信息。
可选地,本发明实施例中涉及的操作***和容器技术可以是Linux操作***以及Linux容器技术。通过为每一个容器分别设置各自的传输控制协议-哈希(tcp_hashinfo)数据结构来避免容器间的数据冲突。
图3是本发明实施例的一种可选的数据记录方法的流程图。如图3所示,该方法包括:
步骤S302,从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,其中,N为大于1的整数;
步骤S304,将目标数据结构与目标容器绑定,其中,操作***对应于M个容器,每个容器中包括预定数量的中央处理器CPU,M为大于1的整数,目标容器为M个容器中处于运行状态的容器;
步骤S306,在目标数据结构中记录目标容器的数据信息。
可选地,一个操作***中可以分配N个数据结构,N个数据结构中可能既包括处于空闲状态的数据结构和非空闲状态的数据结构,可能N个数据结构均处于空闲状态或均处于非空闲状态。本发明实施例中涉及的空闲状态的数据结构可以理解为没有与任何容器进行绑定的数据结构,非空闲状态的数据结构可以理解为与某个容器处于绑定状态的数据结构。当操作***中存在处于空闲状态的数据结构时,从中选择一个确定为目标数据结构与启动后的目标容器进行绑定。对于目标数据结构的选择,可以是随机确定的,也可以是根据容器中包含的APP的类型以及数据结构的容量大小来选择,或是根据实际应用场景中的具体配置来选择,本发明实施例对此不做限定。
可选地,在目标数据结构中记录目标容器的数据信息,可以通过以下步骤实现:
S1,获取目标容器中目标CPU的连接状态数据,其中,连接状态数据至少包括以下之一:目标CPU对应的网络协议,目标CPU对应的端口数据,目标CPU的连接状态参数;
S2,将目标CPU的连接状态数据记录在目标数据结构内。
需要说明的是,每个目标容器中可以包括预定数量的CPU,每个CPU对应的数据信息均保存在目标数据结构内。CPU对应的数据信息,可以是连接状态数据,也可以是交互数据,也可以是其他任意CPU中产生的基础数据或关键数据。本发明实施例中涉及的CPU的连接状态数据,可以包括CPU对应的网络传输协议,可以包括CPU对应的网络端口标识,也可以包括CPU的连接状态参数,此处的连接状态参数可以包括以下至少之一:正在连接的状态,已连接且处于连接中的状态,连接后断开的状态。
当目标容器内的至少两个CPU之间发生数据冲突时,可以按照时间先后顺序进行轮询,排队等待处理,也可以按照预先设置的CPU优先级,根据优先级的高低,优先处理优先级高的CPU产生的数据。或者在发生冲突时,将优先级较低的数据暂存到一个缓存装置中,待没有数据冲突时取出存入目标数据结构。
可选地,从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,可以通过以下步骤实现:
从N个数据结构中选择一个没有与任何容器绑定的数据结构,确定为目标数据结构。
本发明实施例中涉及的空闲状态的数据结构可以理解为没有与任何容器进行绑定的数据结构。当操作***中存在处于空闲状态的数据结构时,从中选择一个确定为目标数据结构与启动后的目标容器进行绑定。对于目标数据结构的选择,可以是随机确定的,也可以是根据容器中包含的APP的类型以及数据结构的容量大小来选择,或是根据实际应用场景中的具体配置来选择,本发明实施例对此不做限定。
可选地,在将目标数据结构分配给目标容器之后,所述方法还包括:
当目标容器被注销后,解除目标容器与目标数据结构的绑定,以使目标数据结构恢复空闲状态。
需要说明的是,容器的建立和注销时根据CPU的数据交互需求直接相关的,也可以用户手动配置的,按照业务场景的需求,设置容器并启动,也可以在数据交互结束后,或者不需要使用容器隔离CPU时,将容器注销。当容器启动时,需要对容器进行独立的数据记录,因此,可以在操作***中为处于运行状态的目标容器分配一个目标数据结构,然后绑定目标容器与目标数据结构,目标容器中产生的数据均记录在目标数据结构中。当目标容器被注销时,此时业务需求不再存在,也不需要数据结构来记录数据,因此,可以解除目标容器与目标数据结构之间的绑定,目标数据结构恢复空闲状态,以便可以与下一个启动的容器进行绑定。目标数据结构中记录的相关信息可以转存到其他服务器,也可以直接丢弃,或者保留一段时间后丢弃,或者在其他服务器中保存一段时间后丢弃。
可选地,在从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构之前,所述方法还包括:
在操作***启动的过程中,在操作***对应的数据库中分配N个数据结构,其中,数据结构包括:哈希数据表。
需要说明的是,对于数据结构的分配或创建可以在操作***启动过程中进行,也可以在操作***启动完成后进行,由于数据结构占用的内存空间或资源较多,因此,优选是在操作***启动过程中,分配好N个数据结构占用的内存空间,避免在操作***启动完成后再分配会占用大量的时间或造成所需内存空间不足。
可选地,在操作***对应的数据库中分配N个数据结构之后,所述方法还包括:
当目标容器被启动且N个数据结构中没有处于空闲状态的数据结构时,确定操作***对应的主机;
将主机对应的数据结构确定为目标数据结构。
图4是根据本发明实施例的一种可选的数据记录方法的流程图,如图4所示,以Linux***中,每一个容器对应一个tcp_hashinfo数据结构为例,所述数据记录方法包括以下步骤:
S1,在Linux***启动过程中,分配一定数量的tcp_hashinfo数据结构,该数量可由启动参数设置;
S2,容器启动后,从空闲的tcp_hashinfo中获取一个作为容器自己的tcp_hashinfo,若没有空闲的tcp_hashinfo则使用优化前的模式,即和主机共享tcp_hashinfo;
S3,容器运行过程中,容器自己产生的连接状态,均记录在自己绑定的tcp_hashinfo中;
S4,容器注销后,释放自己绑定的tcp_hashinfo。
tcp_hashinfo中记录的数据还包括,容器中CPU的客户端请求发送到服务器后,服务器会给该CPU分配一个网络端口,然后CPU与该网络端口建立连接,并进行数据交互,器件的连接参数信息和端口信息、网络传输协议信息等均可以记录在tcp_hashinfo中。当CPU与网络端口之间的交互结束,连接断开,对应的连接断开的状态数据也可以记录在tcp_hashinfo数据结构内。
图5是根据本发明实施例的一种可选的容器与数据结构的绑定方法交互流程图,如图5所示,包括以下步骤:
S501,容器502启动;
S502,服务器506为容器502分配一个处于空闲状态的数据结构504;
S503,容器502与数据结构506绑定;
S504,容器502产生的数据信息记录在数据结构504中;
S505,容器502被注销;
S506,容器502与数据结构504解除绑定。
图6是根据本发明实施例的一种可选的数据记录方法交互流程图,如图6所示,包括以下步骤:
S601,设定容器502中包含CPU5022和CPU5024,当CPU5022产生客户端请求,发送到服务器506;
S602,服务器506为CPU5022分配连接的网络端口508;
S603,CPU5022与网络端口508建立端口连接;
S604,CPU5022的连接数据以及交互数据均记录在与容器502绑定的数据结构504上。
在未实施优化的情况下,如果将48CPU机器分成6组容器各自进行大规模的短连接测试,其中因为数据保护(发生冲突时CPU进行排队轮询)导致空转的CPU消耗占所有CPU消耗的50%以上,通过本发明实施例中的技术方案,可以大大降低空转CPU的消耗比例。本发明实施例通过隔离维护连接状态的数据结构来减伤操作中的冲突,从而提高大规模短连接的并发性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述数据记录方法的数据记录装置。图7是根据本发明实施例的数据记录装置的一种可选的结构框图,如图7所示,该装置包括:
第一确定模块702,用于从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,其中,所述N为大于1的整数;
绑定模块704,用于将所述目标数据结构与目标容器绑定,其中,所述操作***对应于M个容器,每个所述容器中包括预定数量的中央处理器CPU,所述M为大于1的整数,所述目标容器为所述M个容器中处于运行状态的容器;
记录模块706,用于在所述目标数据结构中记录所述目标容器的数据信息。
可选地,所述记录模块706包括:
获取单元,用于获取所述目标容器中目标CPU的连接状态数据,其中,所述连接状态数据至少包括以下之一:所述目标CPU对应的网络协议,所述目标CPU对应的端口数据,所述目标CPU的连接状态参数;
记录单元,用于将所述目标CPU的连接状态数据记录在所述目标数据结构内。
可选地,所述第一确定模块702包括:
确定单元,用于从所述N个数据结构中选择一个没有与任何容器绑定的数据结构,确定为所述目标数据结构。
可选地,所述装置还包括:
解除模块,用于当所述目标容器被注销后,解除所述目标容器与所述目标数据结构的绑定,以使所述目标数据结构恢复空闲状态。
可选地,所述装置还包括:
分配模块,用于在所述操作***启动的过程中,在所述操作***对应的数据库中分配N个数据结构,其中,所述数据结构包括:哈希数据表。
可选地,所述装置还包括:
第二确定模块,用于当所述目标容器被启动且所述N个数据结构中没有处于空闲状态的数据结构时,确定所述操作***对应的主机;
第三确定模块,用于将所述主机对应的数据结构确定为所述目标数据结构。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据记录方法的电子装置,上述电子装置可以但不限于应用于上述图2所示的服务器112中。如图8所示,该电子装置包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,其中,N为大于1的整数;
S2,将目标数据结构与目标容器绑定,其中,操作***对应于M个容器,每个容器中包括预定数量的中央处理器CPU,M为大于1的整数,目标容器为M个容器中处于运行状态的容器;
S3,在目标数据结构中记录目标容器的数据信息。
可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图8中所示更多或者更少的组件(如网络接口等),或者具有与图8所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的数据记录方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据记录方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于储存数据记录方法的程序步骤。作为一种示例,如图6所示,上述存储器902中可以但不限于包括上述数据记录装置中的第一确定模块702、绑定模块704和记录模块706。此外,还可以包括但不限于上述数据记录装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器908,用于显示目标容器与目标数据结构的绑定;和连接总线910,用于连接上述电子装置中的各个模块部件。
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构,其中,N为大于1的整数;
S2,将目标数据结构与目标容器绑定,其中,操作***对应于M个容器,每个容器中包括预定数量的中央处理器CPU,M为大于1的整数,目标容器为M个容器中处于运行状态的容器;
S3,在目标数据结构中记录目标容器的数据信息。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (9)

1.一种数据记录方法,其特征在于,包括:
从操作***的N个数据结构中选择一个没有与任何容器绑定的数据结构确定为目标数据结构,其中,所述N为大于1的整数;
将所述目标数据结构与目标容器绑定,其中,所述操作***对应于M个容器,每个所述容器中包括预定数量的中央处理器CPU,所述M为大于1的整数,所述目标容器为所述M个容器中处于运行状态的容器;
在所述目标数据结构中记录所述目标容器的数据信息。
2.根据权利要求1所述的方法,其特征在于,所述在所述目标数据结构中记录所述目标容器的数据信息,包括:
获取所述目标容器中目标CPU的连接状态数据,其中,所述连接状态数据至少包括以下之一:所述目标CPU对应的网络协议,所述目标CPU对应的端口数据,所述目标CPU的连接状态参数;
将所述目标CPU的连接状态数据记录在所述目标数据结构内。
3.根据权利要求1所述的方法,其特征在于,在将所述目标数据结构分配给目标容器之后,所述方法还包括:
当所述目标容器被注销后,解除所述目标容器与所述目标数据结构的绑定,以使所述目标数据结构恢复空闲状态。
4.根据权利要求1至3任一项所述的方法,其特征在于,在从操作***的N个数据结构中选择一个处于空闲状态的数据结构确定为目标数据结构之前,所述方法还包括:
在所述操作***启动的过程中,在所述操作***对应的数据库中分配N个数据结构,其中,所述数据结构包括:哈希数据表。
5.根据权利要求4所述的方法,其特征在于,在所述操作***对应的数据库中分配N个数据结构之后,所述方法还包括:
当所述目标容器被启动且所述N个数据结构中没有处于空闲状态的数据结构时,确定所述操作***对应的主机;
将所述主机对应的数据结构确定为所述目标数据结构。
6.一种数据记录装置,其特征在于,包括:
第一确定模块,用于从操作***的N个数据结构中选择一个没有与任何容器绑定的数据结构确定为目标数据结构,其中,所述N为大于1的整数;
绑定模块,用于将所述目标数据结构与目标容器绑定,其中,所述操作***对应于M个容器,每个所述容器中包括预定数量的中央处理器CPU,所述M为大于1的整数,所述目标容器为所述M个容器中处于运行状态的容器;
记录模块,用于在所述目标数据结构中记录所述目标容器的数据信息。
7.根据权利要求6所述的装置,其特征在于,所述记录模块包括:
获取单元,用于获取所述目标容器中目标CPU的连接状态数据,其中,所述连接状态数据至少包括以下之一:所述目标CPU对应的网络协议,所述目标CPU对应的端口数据,所述目标CPU的连接状态参数;
记录单元,用于将所述目标CPU的连接状态数据记录在所述目标数据结构内。
8.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至5任一项中所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至5任一项中所述的方法。
CN201911003589.XA 2019-10-18 2019-10-18 数据记录方法和装置、存储介质及电子装置 Active CN110780817B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911003589.XA CN110780817B (zh) 2019-10-18 2019-10-18 数据记录方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911003589.XA CN110780817B (zh) 2019-10-18 2019-10-18 数据记录方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN110780817A CN110780817A (zh) 2020-02-11
CN110780817B true CN110780817B (zh) 2021-12-07

Family

ID=69386250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911003589.XA Active CN110780817B (zh) 2019-10-18 2019-10-18 数据记录方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN110780817B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678203A (zh) * 2013-12-13 2014-03-26 国家计算机网络与信息安全管理中心 一种实现网卡零拷贝方法及装置
CN105190545A (zh) * 2014-01-27 2015-12-23 华为技术有限公司 虚拟化方法和装置及计算机设备
CN106484886A (zh) * 2016-10-17 2017-03-08 金蝶软件(中国)有限公司 一种数据采集的方法及其相关设备
CN106874102A (zh) * 2015-12-18 2017-06-20 北京奇虎科技有限公司 基于容器工作性质的资源调度方法和装置
CN107179955A (zh) * 2017-05-08 2017-09-19 北京海杭通讯科技有限公司 基于Android容器的设备隔离方法及其终端
CN108140014A (zh) * 2015-11-02 2018-06-08 华为技术有限公司 创建和使用用于并行编程的数据结构的***及方法
CN108255598A (zh) * 2016-12-28 2018-07-06 华耀(中国)科技有限公司 性能保证的虚拟化管理平台资源分配***及方法
CN109284169A (zh) * 2018-09-10 2019-01-29 福建星瑞格软件有限公司 基于进程虚拟化的大数据平台进程管理方法及计算机设备
CN110119308A (zh) * 2018-02-07 2019-08-13 北京第一视角科技有限公司 管理大规模容器应用的***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652178B2 (en) * 2013-09-10 2017-05-16 Veritas Technologies Systems and methods for protecting virtual machine data
CN107463402B (zh) * 2017-07-31 2018-09-14 腾讯科技(深圳)有限公司 虚拟操作***的运行方法和装置
US10956593B2 (en) * 2018-02-15 2021-03-23 International Business Machines Corporation Sharing of data among containers running on virtualized operating systems

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678203A (zh) * 2013-12-13 2014-03-26 国家计算机网络与信息安全管理中心 一种实现网卡零拷贝方法及装置
CN105190545A (zh) * 2014-01-27 2015-12-23 华为技术有限公司 虚拟化方法和装置及计算机设备
CN108140014A (zh) * 2015-11-02 2018-06-08 华为技术有限公司 创建和使用用于并行编程的数据结构的***及方法
CN106874102A (zh) * 2015-12-18 2017-06-20 北京奇虎科技有限公司 基于容器工作性质的资源调度方法和装置
CN106484886A (zh) * 2016-10-17 2017-03-08 金蝶软件(中国)有限公司 一种数据采集的方法及其相关设备
CN108255598A (zh) * 2016-12-28 2018-07-06 华耀(中国)科技有限公司 性能保证的虚拟化管理平台资源分配***及方法
CN107179955A (zh) * 2017-05-08 2017-09-19 北京海杭通讯科技有限公司 基于Android容器的设备隔离方法及其终端
CN110119308A (zh) * 2018-02-07 2019-08-13 北京第一视角科技有限公司 管理大规模容器应用的***
CN109284169A (zh) * 2018-09-10 2019-01-29 福建星瑞格软件有限公司 基于进程虚拟化的大数据平台进程管理方法及计算机设备

Also Published As

Publication number Publication date
CN110780817A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN109343963B (zh) 一种容器集群的应用访问方法、装置及相关设备
US10481804B2 (en) Cluster system with calculation and storage converged
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
CN101535965B (zh) 用于提高存储管理***的可伸缩性和可移植性的技术
CN113965560A (zh) 数据传输方法和代理服务器、存储介质及电子装置
CN106326226B (zh) 一种公有云上启动数据库服务的方法及***
CN106354559A (zh) 云桌面资源的处理方法及装置
CN115454636A (zh) 一种容器云平台gpu资源调度方法、装置及应用
CN112084173A (zh) 数据迁移方法和装置及存储介质
CN111225003B (zh) 一种nfs节点配置方法和装置
CN107948229B (zh) 分布式存储的方法、装置及***
CN104735109A (zh) 一种医学影像数据的存储***
US7970882B2 (en) Management apparatus and management method
CN112035062B (zh) 云计算的本地存储的迁移方法、计算机设备及存储介质
CN110780817B (zh) 数据记录方法和装置、存储介质及电子装置
CN110716690B (zh) 数据回收方法和***
US9432476B1 (en) Proxy data storage system monitoring aggregator for a geographically-distributed environment
CN107493181B (zh) 虚拟扩展端口的指示方法和装置
CN115826845A (zh) 存储资源的分配方法和装置、存储介质、电子装置
CN112347036B (zh) 一种云存储***的云间迁移方法及装置
CN111722783B (zh) 数据存储方法及装置
CN112398668B (zh) 一种基于IaaS集群的云平台和节点的切换方法
CN109558205B (zh) 磁盘访问方法及装置
KR101754713B1 (ko) 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법
CN107615259A (zh) 一种数据处理方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40022174

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant