CN107368583A - A kind of method and system of more cluster information inquiries - Google Patents

A kind of method and system of more cluster information inquiries Download PDF

Info

Publication number
CN107368583A
CN107368583A CN201710601730.0A CN201710601730A CN107368583A CN 107368583 A CN107368583 A CN 107368583A CN 201710601730 A CN201710601730 A CN 201710601730A CN 107368583 A CN107368583 A CN 107368583A
Authority
CN
China
Prior art keywords
cluster
information
node
cache database
management server
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
Application number
CN201710601730.0A
Other languages
Chinese (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710601730.0A priority Critical patent/CN107368583A/en
Publication of CN107368583A publication Critical patent/CN107368583A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a kind of method and system of more cluster information inquiries, methods described includes:Management server receives the instruction that user inquires about cluster information;The server buffer database being pre-set in the management server is accessed, the cluster information is inquired about;Wherein, the information that each node in the cluster obtained will be collected in advance by being provided with the node of nodal cache database be written to corresponding in nodal cache database, the information that the management server will collect in the nodal cache database in each cluster obtained in advance is written in the server buffer database.Using this multilayer caching mechanism, when needing to inquire about cluster information, the information of each cluster need not dispersedly be read, only need to directly read the information in the cache database that management software is set on the server, so as to reduce the request time required for inquiry cluster information, the response speed of inquiry cluster information is improved.

Description

A kind of method and system of more cluster information inquiries
Technical field
The present invention relates to distributed type assemblies storage server management domain, more particularly to a kind of more cluster information inquiries Method and system.
Background technology
With the acceleration of storage server model change, each manufacturer produces the storage service of a large amount of different models Device, and user also covers from single turn to more therewith for the regulatory requirement of storage server, employs such as Openstack Cloud platform manages more set clusters simultaneously.User needs to inquire about cluster information when in use, but when the scale of clustered node is gradual Increase, when the cluster number that cloud platform needs manage is also more and more, the request time inquired about required for cluster information can be caused It is long, the problem of response speed is slow.
The content of the invention
It is an object of the invention to provide a kind of method and system of more cluster information inquiries, to solve inquiry cluster information institute The problem of request time needed is long, and response speed is slow.
In order to solve the above technical problems, the present invention provides a kind of method of more cluster information inquiries, including:
Management server receives the instruction that user inquires about cluster information;Access is pre-set in the management server Server buffer database, the cluster information is inquired about;
Wherein, the information of each node is write in the cluster that the node for being provided with nodal cache database will collect acquisition in advance Enter into corresponding nodal cache database, the management server is in advance by the nodal cache in each cluster for collecting acquisition Information in database is written in the server buffer database.
Alternatively, the management server is established by socket with the cluster and communicated to connect.
Alternatively, the node of nodal cache database is provided with advance by the information of each node in the cluster for collecting acquisition Nodal cache database corresponding to being written to includes:
Each node sends information by udp broadcast in the cluster, the section for being provided with nodal cache database Point obtains each node is sent in the cluster information by udp broadcast and is written in corresponding nodal cache database.
Present invention also offers a kind of system of more cluster information inquiries, including management server, cluster;
Wherein, the management server, for collecting information and write-in in the nodal cache database in each cluster Into the server buffer database being pre-set in the management server;The instruction that user inquires about cluster information is received, The server buffer database is accessed, the cluster information is inquired about;
The cluster, for collecting the information of each node in cluster and being written to corresponding nodal cache database;To The management server sends the information in the nodal cache database;The nodal cache database is pre-set at cluster Node on.
Alternatively, the management server is established by socket with the cluster and communicated to connect.
Alternatively, the information of each node is sent by udp broadcast in the cluster, is provided with nodal cache database Node obtains each node is sent in the cluster information by udp broadcast and is written in the nodal cache database.
The method and system of more cluster information inquiries provided by the present invention, are set in management server and each cluster Cache database, the information that each cluster collects each node are simultaneously written in the cache database set on this cluster, managed Reason server is collected the information of the cache database of each cluster and is written in the cache database set in management server, Using this multilayer caching mechanism, when needing to inquire about cluster information, it is not necessary to dispersedly read the information of each cluster, only need The information in the cache database that management software is set on the server is directly read, so as to reduce inquiry cluster Request time required for information, improve the response speed of inquiry cluster information.
Brief description of the drawings
, below will be to embodiment or existing for the clearer explanation embodiment of the present invention or the technical scheme of prior art The required accompanying drawing used is briefly described in technology description, it should be apparent that, drawings in the following description are only this hair Some bright embodiments, for those of ordinary skill in the art, on the premise of not paying creative work, can be with root Other accompanying drawings are obtained according to these accompanying drawings.
The flow chart for the method that more cluster informations that Fig. 1 is provided by the embodiment of the present invention are inquired about;
The structured flowchart for the system that more cluster informations that Fig. 2 is provided by the embodiment of the present invention are inquired about.
Embodiment
The core of the present invention is to provide a kind of method and system of more cluster information inquiries, to solve inquiry cluster information institute The problem of request time needed is long, and response speed is slow.
In order that those skilled in the art more fully understand the present invention program, with reference to the accompanying drawings and detailed description The present invention is described in further detail.Obviously, described embodiment is only part of the embodiment of the present invention, rather than Whole embodiments.Based on the embodiment in the present invention, those of ordinary skill in the art are not making creative work premise Lower obtained every other embodiment, belongs to the scope of protection of the invention.
Fig. 1 is refer to, Fig. 1 show the flow chart of the method for more cluster informations inquiry that the embodiment of the present invention is provided, Comprise the following steps:
Step 101:The node for being provided with nodal cache database collects the information for obtaining each node in cluster in advance, and In nodal cache database corresponding to being written to.
Nodal cache database is both provided with a node of each cluster, each node of each cluster passes through The information of this node of Collection agent programmed acquisition, regularly the information of collection is sent in this cluster by udp broadcast and is provided with The node of nodal cache database, and the node that nodal cache database is provided with this cluster is received respectively by udp broadcast After the information of individual node, the node of this cluster is written to by gathering information write-in program by the information of each node received In cache database.
In this step, the nodal cache database in each cluster stores the information of all nodes of this cluster, Realize the caching of the first order so that management server collects the time reduction of these information in later step.Each node it Between information transfer be to be carried out by udp broadcast, naturally it is also possible to use other information transfers according to specific applicable cases Mode, as long as the information transfer between node can be realized.
Step 102:Management server collects the information in the nodal cache database obtained in each cluster in advance, and writes Enter into the server buffer database being pre-set in management server.
Management server deploys socket client, is provided with the node deployment socket of nodal cache database Server, management server pass through socket client and the socket server for the node for being provided with nodal cache database Establish communication connection so that cluster information can be sent in management server.Management server establishes communication link with cluster Connect, the node timing that each cluster is provided with nodal cache database is communicated by socket, by nodal cache database Information transmission is communicated to management server, management server by socket, receives each cluster interior joint cache database In information, and in write service device cache database, server buffer database is to being pre-set in management server 's.
In this step, the information in each cluster of server buffer database purchase, second level caching is realized. Management server is established with cluster and communicates to connect the other modes that can also be taken according to practical application except socket, using which kind of The mode of communication connection has no effect on the realization of the present invention.
Step 103:Management server receives the instruction that user inquires about cluster information.
User sends out the instruction of inquiry cluster information, management server receives user by interface queries cluster information Inquire about the instruction of cluster information.
Step 104:Management server accesses server buffer database, and the cluster information is inquired about.
By multi-level buffer, the information of each cluster is stored in server buffer database, so when user needs to look into When asking cluster information, directly the information in server buffer database is inquired about, without pair one by one The information of each node is inquired about in cluster or cluster, therefore reduces the request time required for inquiry cluster information, is carried The high response speed of inquiry cluster information.
The system of the more cluster informations inquiry provided below the embodiment of the present invention is introduced, more collection described below The system of group's information inquiry and the method for above-described more cluster information inquiries can be mutually to should refer to.
Fig. 2 is refer to, the structured flowchart for the system that more cluster informations that Fig. 2 is provided by the embodiment of the present invention are inquired about is more The system of cluster information inquiry includes:Management server 201, cluster 202.Wherein management server 201 includes server buffer Database 203;Cluster includes node 204, nodal cache database 205.
The operation principle of the system of more cluster informations that the embodiment of the present invention is provided inquiry is:
Node 204 in each cluster is by the information of this node of Collection agent programmed acquisition, regularly by the information of collection The node that nodal cache database 205 is provided with this cluster is sent to by udp broadcast, and node is provided with this cluster and is delayed , will by gathering information write-in program after the node in deposit data storehouse 205 receives the information of each node 204 by udp broadcast The information of each node 204 received is written in the nodal cache database 205 of this cluster.Management server 201 passes through Communication connection is established between socket and each cluster 202, by communicating to connect the nodal cache number collected in each cluster 202 According to the information in storehouse 205, and it is written in server buffer database 203;The instruction that user inquires about cluster information is received, is accessed Server buffer database 203, the cluster information is inquired about.
The system of more cluster informations inquiry of the present embodiment is used for the method for realizing foregoing more cluster informations inquiry, therefore The embodiment of the method for the visible more cluster informations inquiry hereinbefore of embodiment in the system of more cluster information inquiries Part, for example, step 102 in method of the management server 201 for realizing above-mentioned more cluster information inquiries, 103 and 104, institute So that its embodiment is referred to the description of corresponding various pieces embodiment.
Each embodiment is described by the way of progressive in this specification, what each embodiment stressed be with it is other The difference of embodiment, between each embodiment same or similar part mutually referring to.For being disclosed in embodiment For system, because it is corresponded to the method disclosed in Example, so description is fairly simple, related part is referring to method part Explanation.
Professional further appreciates that, with reference to the unit of each example of the embodiments described herein description And algorithm steps, can be realized with electronic hardware, computer software or the combination of the two, in order to clearly demonstrate hardware and The interchangeability of software, the composition and step of each example are generally described according to function in the above description.These Function is performed with hardware or software mode actually, application-specific and design constraint depending on technical scheme.Specialty Technical staff can realize described function using distinct methods to each specific application, but this realization should not Think beyond the scope of this invention.
The method and system of more cluster information inquiries provided by the present invention are described in detail above.Herein Apply specific case to be set forth the principle and embodiment of the present invention, the explanation of above example is only intended to help Understand the method and its core concept of the present invention.It should be pointed out that for those skilled in the art, do not taking off On the premise of from the principle of the invention, some improvement and modification can also be carried out to the present invention, these are improved and modification also falls into this In invention scope of the claims.

Claims (6)

  1. A kind of 1. method of more cluster information inquiries, it is characterised in that including:
    Management server receives the instruction that user inquires about cluster information;Access the service being pre-set in the management server Device cache database, the cluster information is inquired about;
    Wherein, the information of each node is written in the cluster that the node for being provided with nodal cache database will collect acquisition in advance In corresponding nodal cache database, the management server is in advance by the nodal cache data in each cluster for collecting acquisition Information in storehouse is written in the server buffer database.
  2. 2. the method as described in claim 1, it is characterised in that the management server is established with the cluster by socket Communication connection.
  3. 3. method as claimed in claim 2, it is characterised in that the node for being provided with nodal cache database in advance obtains collection The information of each node is written to corresponding nodal cache database and included in the cluster obtained:
    Each node sends information by udp broadcast in the cluster, and the node for being provided with nodal cache database leads to Cross the information that each node is sent in the udp broadcast acquisition cluster and be written in corresponding nodal cache database.
  4. 4. a kind of system of more cluster information inquiries, it is characterised in that including management server, cluster;
    Wherein, the management server, for collecting the information in the nodal cache database in each cluster and being written to pre- First it is arranged in the server buffer database in the management server;The instruction that user inquires about cluster information is received, is accessed The server buffer database, is inquired about the cluster information;
    The cluster, for collecting the information of each node in cluster and being written to corresponding nodal cache database;To described Management server sends the information in the nodal cache database;The nodal cache database is pre-set at the section of cluster Point on.
  5. 5. system as claimed in claim 4, it is characterised in that the management server is established with the cluster by socket Communication connection.
  6. 6. system as claimed in claim 5, it is characterised in that the information of each node is sent out by udp broadcast in the cluster Go out, be provided with the node of nodal cache database and each node is sent in the cluster information is obtained by udp broadcast and write Enter into the nodal cache database.
CN201710601730.0A 2017-07-21 2017-07-21 A kind of method and system of more cluster information inquiries Pending CN107368583A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710601730.0A CN107368583A (en) 2017-07-21 2017-07-21 A kind of method and system of more cluster information inquiries

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710601730.0A CN107368583A (en) 2017-07-21 2017-07-21 A kind of method and system of more cluster information inquiries

Publications (1)

Publication Number Publication Date
CN107368583A true CN107368583A (en) 2017-11-21

Family

ID=60307007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710601730.0A Pending CN107368583A (en) 2017-07-21 2017-07-21 A kind of method and system of more cluster information inquiries

Country Status (1)

Country Link
CN (1) CN107368583A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040183A (en) * 2018-06-27 2018-12-18 郑州云海信息技术有限公司 Node information acquisition method, device, equipment and computer readable storage medium
CN110247812A (en) * 2019-07-22 2019-09-17 深信服科技股份有限公司 A kind of more cluster management methods, device, system and associated component
CN112416251A (en) * 2020-11-24 2021-02-26 上海壁仞智能科技有限公司 Computing system
CN112632092A (en) * 2020-12-18 2021-04-09 北京浪潮数据技术有限公司 Cluster management method, device, equipment and storage medium
CN112751709A (en) * 2020-12-29 2021-05-04 北京浪潮数据技术有限公司 Management method, device and system of storage cluster
CN113364892A (en) * 2020-03-04 2021-09-07 阿里巴巴集团控股有限公司 Domain name resolution method, related method, device and system for cross-multi-cluster service
CN114257606A (en) * 2021-12-13 2022-03-29 阿里巴巴(中国)有限公司 Data processing method, file management system, storage medium, and program product
CN114745376A (en) * 2020-12-24 2022-07-12 网联清算有限公司 ZooKeeper cluster operation and maintenance method and device, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163231A (en) * 2011-04-13 2011-08-24 浪潮(北京)电子信息产业有限公司 Method and device for data collection
CN103428646A (en) * 2012-05-25 2013-12-04 中兴通讯股份有限公司 Cluster system user state query method and server
CN103995807A (en) * 2013-02-16 2014-08-20 长沙中兴软创软件有限公司 Massive data query and secondary processing method based on Web architecture
CN104090934A (en) * 2014-06-26 2014-10-08 山东金质信息技术有限公司 Standard service platform distributed parallel computing database and retrieval method thereof
US20170017692A1 (en) * 2015-07-13 2017-01-19 Paypal, Inc. Read/write split database query routing
CN106570145A (en) * 2016-10-28 2017-04-19 中国科学院软件研究所 Layered mapping-based distributed database result caching method
CN106713506A (en) * 2017-02-22 2017-05-24 郑州云海信息技术有限公司 Data acquisition method and data acquisition system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163231A (en) * 2011-04-13 2011-08-24 浪潮(北京)电子信息产业有限公司 Method and device for data collection
CN103428646A (en) * 2012-05-25 2013-12-04 中兴通讯股份有限公司 Cluster system user state query method and server
CN103995807A (en) * 2013-02-16 2014-08-20 长沙中兴软创软件有限公司 Massive data query and secondary processing method based on Web architecture
CN104090934A (en) * 2014-06-26 2014-10-08 山东金质信息技术有限公司 Standard service platform distributed parallel computing database and retrieval method thereof
US20170017692A1 (en) * 2015-07-13 2017-01-19 Paypal, Inc. Read/write split database query routing
CN106570145A (en) * 2016-10-28 2017-04-19 中国科学院软件研究所 Layered mapping-based distributed database result caching method
CN106713506A (en) * 2017-02-22 2017-05-24 郑州云海信息技术有限公司 Data acquisition method and data acquisition system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040183A (en) * 2018-06-27 2018-12-18 郑州云海信息技术有限公司 Node information acquisition method, device, equipment and computer readable storage medium
CN110247812A (en) * 2019-07-22 2019-09-17 深信服科技股份有限公司 A kind of more cluster management methods, device, system and associated component
CN113364892A (en) * 2020-03-04 2021-09-07 阿里巴巴集团控股有限公司 Domain name resolution method, related method, device and system for cross-multi-cluster service
CN112416251A (en) * 2020-11-24 2021-02-26 上海壁仞智能科技有限公司 Computing system
CN112416251B (en) * 2020-11-24 2023-02-10 上海壁仞智能科技有限公司 Computing system
CN112632092A (en) * 2020-12-18 2021-04-09 北京浪潮数据技术有限公司 Cluster management method, device, equipment and storage medium
CN114745376A (en) * 2020-12-24 2022-07-12 网联清算有限公司 ZooKeeper cluster operation and maintenance method and device, electronic equipment and storage medium
CN114745376B (en) * 2020-12-24 2023-12-15 网联清算有限公司 ZooKeeper cluster operation and maintenance method and device, electronic equipment and storage medium
CN112751709A (en) * 2020-12-29 2021-05-04 北京浪潮数据技术有限公司 Management method, device and system of storage cluster
CN114257606A (en) * 2021-12-13 2022-03-29 阿里巴巴(中国)有限公司 Data processing method, file management system, storage medium, and program product
CN114257606B (en) * 2021-12-13 2024-03-29 阿里巴巴(中国)有限公司 Data processing method, file management system, storage medium, and program product

Similar Documents

Publication Publication Date Title
CN107368583A (en) A kind of method and system of more cluster information inquiries
CN105324770B (en) Effectively read copy
CN101493826B (en) Database system based on WEB application and data management method thereof
CN104486445B (en) Distributed extendable resource monitoring system based on cloud platform
CN103368867B (en) The method and system for the object that cache communicates through network with secondary site
CN105052111B (en) Services migrating across cluster boundaries
CN103559319B (en) The cache synchronization method and equipment of distributed cluster file system
CN101557427A (en) Method for providing diffluent information and realizing the diffluence of clients, system and server thereof
CN109871388A (en) Data cache method, device, whole electronic equipment and storage medium
CN110209535A (en) Quick collapse for distributed data base system restores
CN105138679B (en) A kind of data processing system and processing method based on distributed caching
CN101256599B (en) System for gathering data of distributing simulation platform based on grid
CN102130959A (en) System and method for scheduling cloud storage resource
CN104166628B (en) The methods, devices and systems of managing internal memory
CN107493329A (en) A kind of remote document access method of distributed memory file system
CN107888666A (en) A kind of cross-region data-storage system and method for data synchronization and device
CN107404417A (en) A kind of processing method of monitoring data, processing unit and processing system
CN107451853A (en) Method, apparatus, system and the storage medium that a kind of red packet distributes in real time
CN108573029A (en) A kind of method, apparatus and storage medium obtaining network access relational data
US6804710B1 (en) Configuration information management system, method, program, and program storage device
CN108347459A (en) A kind of high in the clouds data quick storage method and device
CN110019537A (en) Local cache method for refreshing, device, computer equipment and storage medium
CN108733701A (en) A kind of query page buffer control method applied to online education
CN109828980A (en) Data cache method, device, terminal and storage medium
CN109271367A (en) Distributed file system multinode snapshot rollback method and system

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171121

RJ01 Rejection of invention patent application after publication