CN108574700A - 基于场景化的在线推送升级方法及装置 - Google Patents

基于场景化的在线推送升级方法及装置 Download PDF

Info

Publication number
CN108574700A
CN108574700A CN201710131088.4A CN201710131088A CN108574700A CN 108574700 A CN108574700 A CN 108574700A CN 201710131088 A CN201710131088 A CN 201710131088A CN 108574700 A CN108574700 A CN 108574700A
Authority
CN
China
Prior art keywords
data packet
user terminal
upgrading data
scene
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
CN201710131088.4A
Other languages
English (en)
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.)
Peak (suzhou) Audio Technology Co Ltd
Peak (beijing) Technology Co Ltd
Original Assignee
Peak (suzhou) Audio Technology Co Ltd
Peak (beijing) 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 Peak (suzhou) Audio Technology Co Ltd, Peak (beijing) Technology Co Ltd filed Critical Peak (suzhou) Audio Technology Co Ltd
Priority to CN201710131088.4A priority Critical patent/CN108574700A/zh
Publication of CN108574700A publication Critical patent/CN108574700A/zh
Pending legal-status Critical Current

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/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于场景化的在线推送升级方法及装置,基于场景化的在线推送升级方法包含:场景状态信息获取步骤:服务器实时接收用户端发送的所述用户端的当前的场景状态信息;场景状态判断步骤:所述服务器根据所述场景状态信息实时判断所述用户端当前的场景状态并输出空闲状态信号或工作状态信号,所述场景状态包括空闲状态或工作状态;空闲状态发送步骤:所述服务器根据所述空闲状态信号发送升级数据包至所述用户端。

Description

基于场景化的在线推送升级方法及装置
技术领域
本发明涉及一种基于场景化的在线推送升级方法及装置。
背景技术
目前随着移动智能化设备使用的越来越广泛,而移动智能化设备的用户端的升级问题也随之备受关注。目前现有用户端推送升级的方法很多,但大部分在线推送升级的方法都需要用户等待整个数据发送过程完毕后再能继续使用,因此在升级过程中如果用户需要使用该设备只能放弃升级或者等待升级完成,从而给用户的使用带来不便。因此,急需开发一种克服上述缺陷的基于场景化的在线推送升级方法及装置。
发明内容
本发明所要解决的技术问题在于提供一种基于场景化的在线推送升级方法,其中,包含:
场景状态信息获取步骤:服务器实时接收用户端发送的所述用户端的当前的场景状态信息;
场景状态判断步骤:所述服务器根据所述场景状态信息实时判断所述用户端当前的场景状态并输出空闲状态信号或工作状态信号,所述场景状态包括空闲状态或工作状态;
空闲状态发送步骤:所述服务器根据所述空闲状态信号发送升级数据包至所述用户端。
上述的基于场景化的在线推送升级方法,其中,于所述场景状态判断步骤之前还包含:
升级数据包接收步骤:所述服务器接收并存储推送端发送的所述升级数据包;
数据版本比较步骤:所述服务器将所述升级数据包与所述客户端当前使用的数据包的数据版本进行比较,当所述升级数据包的数据版本高于所述客户端当前使用的数据包的数据版本时输出数据传输信号,所述服务器根据所述数据传输信号及所述空闲状态信号发送升级数据包至所述用户端。
上述的基于场景化的在线推送升级方法,其中,当所述空闲状态发送步骤执行时,所述服务器还同步执行所述场景状态信息获取步骤及所述场景状态判断步骤。
上述的基于场景化的在线推送升级方法,其中,于空闲状态发送步骤中还包含:
传输中断步骤:所述服务器发送所述升级数据包时,当所述服务器根据所述用户端的当前的场景状态信息判定所述用户端为所述工作状态时并输出工作状态信号,所述服务器根据所述工作状态信号中断传输所述升级数据包;
数据包标记步骤:所述升级数据包含多个子包,所述服务器对所述多个子包中已发送的所述子包进行标记。
上述的基于场景化的在线推送升级方法,其中,于所述空闲状态发送步骤之中且于所述数据包标记步骤之后还包含:
传输恢复步骤:当所述服务器根据所述用户端的当前的场景状态信息判定所述用户端为所述空闲状态时并输出所述空闲状态信号,所述服务器根据所述空闲状态信号恢复传输未标记的所述子包。
本发明还提供一种基于场景化的在线推送升级装置,设置于服务器中,所述智能推送升级装置电性连接于用户端,其中,所述用户端包含通讯模块,所述用户端通过所述通讯模块实时发出所述用户端的当前的场景状态信息至所述智能推送升级装置,所述智能推送升级装置包含:
场景状态信息接收模块,实时接收所述场景状态信息;
场景状态判断模块,根据所述场景状态信息实时判断所述用户端当前的场景状态并输出空闲状态信号或工作状态信号,所述场景状态包括空闲状态或工作状态;
升级数据包发送模块,根据所述空闲状态信号发送升级数据包至所述用户端。
上述的基于场景化的在线推送升级装置,其中,还包含:
升级数据包接收模块,接收并存储推送端发送的所述升级数据包;
数据版本比较模块:将所述升级数据包与所述客户端当前使用的数据包的数据版本进行比较,当所述升级数据包的数据版本高于所述客户端当前使用的数据包的数据版本时输出数据传输信号,所述升级数据包发送模块根据所述数据传输信号及所述空闲状态信号发送所述升级数据包至所述用户端。
上述的基于场景化的在线推送升级装置,其中,当所述升级数据包发送模块发送所述升级数据包时,所述场景状态信息接收模块还实时接收所述场景状态信息,所述场景状态判断模块还根据所述场景状态信息还实时判断所述用户端当前的场景状态。
上述的基于场景化的在线推送升级装置,其中,所述升级数据包发送模块发送所述升级数据包时,当所述场景状态判断模块判断所述用户端当前的场景状态为所述工作状态时并输出所述工作状态信号至所述升级数据包发送模块,所述升级数据包发送模块根据所述工作状态信号中断传输所述升级数据包。
上述的基于场景化的在线推送升级装置,其中,当所述升级数据包传送被中断后,所述升级数据包发送模块对所述升级数据包中的已发送至所述用户端的子包进行标记,当所述场景状态判断模块根据所述场景状态信息判断所述用户端当前的场景状态为所述空闲状态时并输出所述空闲状态信号至所述升级数据包发送模块,所述升级数据包发送模块根据所述空闲状态信号继续发送所述升级数据包中未标记的子包。
本发明针对于现有技术其功效在于:通过接收用户端的状态信息判断当前用户的场景状态,在用户端处于空闲状态时将升级数据包推送给待用户端,有效地利用用户端的空闲时间来推送,且不干扰和打断用户端的正常使用,同时实现了随时中断以及断点续传的功能。
附图说明
图1是本发明基于场景化的在线推送升级方法流程图;
图2是图1中空闲状态发送步骤的分步骤流程图;
图3为本发明基于场景化的在线推送升级装置一实施例的结构示意图;
图4为本发明基于场景化的在线推送升级装置另一实施例的结构示意图。
具体实施方式
兹有关本发明的详细内容及技术说明,现以一较佳实施例来作进一步说明,但不应被解释为本发明实施的限制。本发明的以下实施例中用户端可以是安装于任意移动智能化设备中,移动智能化设备可以为手机、平板电脑、笔记本电脑等具备数据处理及传输功能的设备。
请参照图1-2,图1是本发明基于场景化的在线推送升级方法流程图;图2是图1中空闲状态发送步骤的分步骤流程图。如图1-2所示,本发明基于场景化的在线推送升级方法包含:
场景状态信息获取步骤S12:服务器实时接收用户端发送的所述用户端的当前的场景状态信息;
场景状态判断步骤S13:所述服务器根据所述场景状态信息实时判断所述用户端当前的场景状态并输出空闲状态信号或工作状态信号,所述场景状态包括空闲状态或工作状态;
空闲状态发送步骤S14:所述服务器根据所述空闲状态信号及数据传输信号发送升级数据包至所述用户端,其中当所述空闲状态发送步骤S14执行时,所述服务器还同步执行所述场景状态信息获取步骤S12及所述场景状态判断步骤S13。
值得注意的是,在本实施例中所述服务器根据所述空闲状态信号及数据传输信号发送升级数据包至所述用户端,但本发明并不以此为限。
进一步地基于场景化的在线推送升级方法,于所述场景状态判断步骤S12之前还包含:
升级数据包接收步骤S10:所述服务器接收并存储推送端发送的所述升级数据包;
数据版本比较步骤S11:所述服务器将所述升级数据包与所述客户端当前使用的数据包的数据版本进行比较,当所述升级数据包的数据版本高于所述客户端当前使用的数据包的数据版本时输出数据传输信号。
再进一步地基于场景化的在线推送升级方法,于空闲状态发送步骤S14中还包含:
传输中断步骤S141:所述服务器发送所述升级数据包时,当所述服务器根据所述用户端的当前的场景状态信息判定所述用户端为所述工作状态时并输出工作状态信号,所述服务器根据所述工作状态信号中断传输所述升级数据包;
数据包标记步骤S142:所述升级数据包含多个子包,所述服务器对所述多个子包中已发送的所述子包进行标记。
传输恢复步骤S143:当所述服务器根据所述用户端的当前的场景状态信息判定所述用户端为所述空闲状态时并输出所述空闲状态信号,所述服务器根据所述空闲状态信号恢复传输未标记的所述子包。
请参照图3,图3为本发明基于场景化的在线推送升级装置一实施例的结构示意图。如图3所示,本发明基于场景化的在线推送升级装置11,设置于服务器1中,所述智能推送升级装置11电性连接于用户端2,所述用户端2包含通讯模块21,所述用户端2通过所述通讯模块21实时发出所述用户端2的当前的场景状态信息至所述智能推送升级装置11,所述智能推送升级装置包含:场景状态信息接收模块111、场景状态判断模块112、升级数据包发送模块113及通讯模块114;场景状态信息接收模块111实时接收所述场景状态信息;场景状态判断模块112电性连接于场景状态信息接收模块111,场景状态判断模块112接收并根据场景状态信息接收模块111传输的所述场景状态信息实时判断所述用户端2当前的场景状态并输出空闲状态信号或工作状态信号,所述场景状态包括空闲状态或工作状态;升级数据包发送模块113,电性连接于场景状态判断模块112,升级数据包发送模块113接收并根据场景状态判断模块112通过通讯模块114输出的所述空闲状态信号发送升级数据包至所述用户端2,所述用户端2通过通讯模块21接收升级数据包。
值得注意的是,所述升级数据包发送模块113发送所述升级数据包时,所述场景状态信息接收模块111还实时接收用户端2发出的所述场景状态信息,所述场景状态判断模块112还根据所述场景状态信息还实时判断所述用户端2当前的场景状态,但本发明并不以此为限。
进一步地的基于场景化的在线推送升级装置,还包含:升级数据包接收模块115及数据版本比较模块116;升级数据包接收模块115接收并存储推送端3发送的所述升级数据包;数据版本比较模块116电性连接于升级数据包发送模块113,数据版本比较模块116将所述升级数据包与所述客户端2当前使用的数据包的数据版本进行比较,当所述升级数据包的数据版本高于所述客户端2当前使用的数据包的数据版本时输出数据传输信号,所述升级数据包发送模块113根据所述数据传输信号及所述空闲状态信号发送所述升级数据包至所述用户端2。在本实施例中,通讯模块114、21之间可以采用有线或无线方式进行数据传输,且以通讯模块114、21为射频模块为较佳的实施方式,但本发明并不以此为限。
其中,当所述升级数据包发送模块113发送所述升级数据包时,所述场景状态信息接收模块111还实时接收用户端2发出的所述场景状态信息,所述场景状态判断模块112还根据所述场景状态信息还实时判断所述用户端2当前的场景状态。
当所述升级数据包发送模块113发送所述升级数据包时,当所述场景状态判断模块112判断所述用户端当前的场景状态为所述工作状态时并输出所述工作状态信号至所述升级数据包发送模块113,所述升级数据包发送模块113根据所述工作状态信号中断传输所述升级数据包;当所述升级数据包传送被中断后,所述升级数据包发送模块113对所述升级数据包中的已发送至所述用户端的子包进行标记,当所述场景状态判断模块112根据所述场景状态信息判断所述用户端2当前的场景状态为所述空闲状态时并输出所述空闲状态信号至所述升级数据包发送模块113,所述升级数据包发送模块113根据所述空闲状态信号继续发送所述升级数据包中未标记的子包,直至升级数据包全部传输完成。
请参照图4,图4为本发明基于场景化的在线推送升级装置的另一实施例的结构示意图。图4示出的在线推送升级装置11的工作原理及结构与图3示出的线推送升级装置大致相同,因此相同部分在此就不再赘述了,现将不同部分说明如下,在本实施例中还可包含设置于服务器之外的中转端4,中转端4包含通讯模块41及存储模块42,中转端4通过通讯模块41接收并输出通讯模块21传输的场景状态信息至在线推送升级装置11的通讯模块114,线推送升级装置11通过通讯模块114输出升级数据包,通讯模块41接收升级数据包后传输至用户端2,同时升级数据包还存储于存储模块42中,其中,中转端可以为手机、平板电脑、笔记本电脑等具备数据处理、存储及传输功能的设备。
值得注意的是,本发明的场景状态信息可以为用户端的位置信息、电量信息等的至少之一者,但本发并不以此为限。
上述仅为本发明的较佳实施例而已,并非用来限定本发明实施的范围,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种基于场景化的在线推送升级方法,其特征在于,包含:
场景状态信息获取步骤:服务器实时接收用户端发送的所述用户端的当前的场景状态信息;
场景状态判断步骤:所述服务器根据所述场景状态信息实时判断所述用户端当前的场景状态并输出空闲状态信号或工作状态信号,所述场景状态包括空闲状态或工作状态;
空闲状态发送步骤:所述服务器根据所述空闲状态信号发送升级数据包至所述用户端。
2.如权利要求1所述的基于场景化的在线推送升级方法,其特征在于,于所述场景状态判断步骤之前还包含:
升级数据包接收步骤:所述服务器接收并存储推送端发送的所述升级数据包;
数据版本比较步骤:所述服务器将所述升级数据包与所述客户端当前使用的数据包的数据版本进行比较,当所述升级数据包的数据版本高于所述客户端当前使用的数据包的数据版本时输出数据传输信号,所述服务器根据所述数据传输信号及所述空闲状态信号发送升级数据包至所述用户端。
3.如权利要求1所述的基于场景化的在线推送升级方法,其特征在于,当所述空闲状态发送步骤执行时,所述服务器还同步执行所述场景状态信息获取步骤及所述场景状态判断步骤。
4.如权利要求2所述的基于场景化的在线推送升级方法,其特征在于,于空闲状态发送步骤中还包含:
传输中断步骤:所述服务器发送所述升级数据包时,当所述服务器根据所述用户端的当前的场景状态信息判定所述用户端为所述工作状态时并输出工作状态信号,所述服务器根据所述工作状态信号中断传输所述升级数据包;
数据包标记步骤:所述升级数据包含多个子包,所述服务器对所述多个子包中已发送的所述子包进行标记。
5.如权利要求4所述的基于场景化的在线推送升级方法,其特征在于,于所述空闲状态发送步骤之中且于所述数据包标记步骤之后还包含:
传输恢复步骤:当所述服务器根据所述用户端的当前的场景状态信息判定所述用户端为所述空闲状态时并输出所述空闲状态信号,所述服务器根据所述空闲状态信号恢复传输未标记的所述子包。
6.如权利要求1所述的基于场景化的在线推送升级装置,设置于服务器中,所述智能推送升级装置电性连接于用户端,其特征在于,所述用户端包含通讯模块,所述用户端通过所述通讯模块实时发出所述用户端的当前的场景状态信息至所述智能推送升级装置,所述智能推送升级装置包含:
场景状态信息接收模块,实时接收所述场景状态信息;
场景状态判断模块,根据所述场景状态信息实时判断所述用户端当前的场景状态并输出空闲状态信号或工作状态信号,所述场景状态包括空闲状态或工作状态;
升级数据包发送模块,根据所述空闲状态信号发送升级数据包至所述用户端。
7.如权利要求6所述的基于场景化的在线推送升级装置,其特征在于,还包含:
升级数据包接收模块,接收并存储推送端发送的所述升级数据包;
数据版本比较模块:将所述升级数据包与所述客户端当前使用的数据包的数据版本进行比较,当所述升级数据包的数据版本高于所述客户端当前使用的数据包的数据版本时输出数据传输信号,所述升级数据包发送模块根据所述数据传输信号及所述空闲状态信号发送所述升级数据包至所述用户端。
8.如权利要求7所述的基于场景化的在线推送升级装置,其特征在于,当所述升级数据包发送模块发送所述升级数据包时,所述场景状态信息接收模块还实时接收所述场景状态信息,所述场景状态判断模块还根据所述场景状态信息还实时判断所述用户端当前的场景状态。
9.如权利要求8所述的基于场景化的在线推送升级装置,其特征在于,所述升级数据包发送模块发送所述升级数据包时,当所述场景状态判断模块判断所述用户端当前的场景状态为所述工作状态时并输出所述工作状态信号至所述升级数据包发送模块,所述升级数据包发送模块根据所述工作状态信号中断传输所述升级数据包。
10.如权利要求9所述的基于场景化的在线推送升级装置,其特征在于,当所述升级数据包传送被中断后,所述升级数据包发送模块对所述升级数据包中的已发送至所述用户端的子包进行标记,当所述场景状态判断模块根据所述场景状态信息判断所述用户端当前的场景状态为所述空闲状态时并输出所述空闲状态信号至所述升级数据包发送模块,所述升级数据包发送模块根据所述空闲状态信号继续发送所述升级数据包中未标记的子包。
CN201710131088.4A 2017-03-07 2017-03-07 基于场景化的在线推送升级方法及装置 Pending CN108574700A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710131088.4A CN108574700A (zh) 2017-03-07 2017-03-07 基于场景化的在线推送升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710131088.4A CN108574700A (zh) 2017-03-07 2017-03-07 基于场景化的在线推送升级方法及装置

Publications (1)

Publication Number Publication Date
CN108574700A true CN108574700A (zh) 2018-09-25

Family

ID=63577148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710131088.4A Pending CN108574700A (zh) 2017-03-07 2017-03-07 基于场景化的在线推送升级方法及装置

Country Status (1)

Country Link
CN (1) CN108574700A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100642998B1 (ko) * 2005-06-07 2006-11-10 주식회사 인티큐브 단말의 정책을 업그레이드하기 위한 정책메시지 전송방법
CN102905173A (zh) * 2012-10-16 2013-01-30 青岛海信信芯科技有限公司 一种电视或机顶盒软件升级方法及***
US20130111461A1 (en) * 2011-11-01 2013-05-02 Michael Zubas Coordinating Firmware Over-The-Air Updates For Mobile Devices Utilizing Presence Information
CN105491161A (zh) * 2016-01-19 2016-04-13 深圳市沃特玛电池有限公司 一种电池管理***软件的远程升级***及其远程升级方法
CN105848190A (zh) * 2016-05-24 2016-08-10 北京小米移动软件有限公司 Ota升级方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100642998B1 (ko) * 2005-06-07 2006-11-10 주식회사 인티큐브 단말의 정책을 업그레이드하기 위한 정책메시지 전송방법
US20130111461A1 (en) * 2011-11-01 2013-05-02 Michael Zubas Coordinating Firmware Over-The-Air Updates For Mobile Devices Utilizing Presence Information
CN102905173A (zh) * 2012-10-16 2013-01-30 青岛海信信芯科技有限公司 一种电视或机顶盒软件升级方法及***
CN105491161A (zh) * 2016-01-19 2016-04-13 深圳市沃特玛电池有限公司 一种电池管理***软件的远程升级***及其远程升级方法
CN105848190A (zh) * 2016-05-24 2016-08-10 北京小米移动软件有限公司 Ota升级方法和装置

Similar Documents

Publication Publication Date Title
US20030157930A1 (en) Server device, mobile communications terminal, information transmitting system and information transmitting method
CN102355374A (zh) 一种数据获取方法和设备
EP3099043B1 (en) Method and system for bluetooth-based transfer of contact list information
CN104579746A (zh) 双链路传输控制方法及装置
CN105786592A (zh) 一种分布式事务的处理方法及装置
CN112714426B (zh) 蓝牙设备的智能升级方法、装置、电子设备及介质
CN102724122A (zh) 基于硬件***的串口可靠传输方法及装置
CN110515762A (zh) 数据恢复方法、装置、终端设备及存储介质
CN110445700A (zh) 主从机通信***、方法及终端设备
CN109656783A (zh) ***平台监控方法及装置
CN104933202A (zh) 一种数据抽取、转换、加载etl的方法和设备
CN105471700A (zh) 一种消息处理的方法、装置和***
CN106155842B (zh) 一种数据迁移方法及装置
CN107422980B (zh) 物联网数据文件存储***及其数据文件存储方法
CN110971533B (zh) 用于数据通信的方法、服务器装置、客户端装置和介质
CN108063809B (zh) 机器设备数据采集方法以及采集***
CN104168145B (zh) 一种对无线通信单元进行无线升级的***和方法
CN110958562B (zh) 一种调制方式选择方法及近场通信装置、存储介质
CN108574700A (zh) 基于场景化的在线推送升级方法及装置
CN111371536B (zh) 一种控制指令的发送方法及装置
CN109766347B (zh) 一种数据更新方法、装置、***、计算机设备及存储介质
US10425508B1 (en) System for identifying idle time of a protocol to facilitate communication using multiple protocols
JP5162686B2 (ja) Dmクライアントからオブジェクトを取り出す方法及びそれに関するデバイス管理システム
CN101247415A (zh) 一种数据传输与同步的方法及无线终端
CN107889089B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180925

WD01 Invention patent application deemed withdrawn after publication