CN106951334A - 发送彩色弹幕的方法及系统 - Google Patents
发送彩色弹幕的方法及系统 Download PDFInfo
- Publication number
- CN106951334A CN106951334A CN201710169992.4A CN201710169992A CN106951334A CN 106951334 A CN106951334 A CN 106951334A CN 201710169992 A CN201710169992 A CN 201710169992A CN 106951334 A CN106951334 A CN 106951334A
- Authority
- CN
- China
- Prior art keywords
- barrage
- colored
- send
- sending
- content
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种发送彩色弹幕的方法及系统,涉及互联网移动端应用开发领域。该方法包括以下步骤:判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。本发明保证了顺序发送弹幕消息,新开线程,不阻塞主线程,实现了彩色弹幕的发送。
Description
技术领域
本发明涉及互联网移动端应用开发领域,具体是涉及一种发送彩色弹幕的方法及系统。
背景技术
在直播APP(APPlication,应用)中,经常需要发送彩色弹幕,彩色弹幕相对于普通弹幕让主播更容易注意到,很多用户希望自己发送的弹幕能够被主播更容易注意到,普通的弹幕都是一种颜色,主播很难集中注意力注意到用户发的内容。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种发送彩色弹幕的方法及系统,保证了顺序发送弹幕消息,新开线程,不阻塞主线程,实现了彩色弹幕的发送。
本发明提供一种发送彩色弹幕的方法,包括以下步骤:
判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。
在上述技术方案的基础上,所述执行发送彩色弹幕的操作之前,还包括以下步骤:
S1、判断用户是否登录,如果是,则执行发送彩色弹幕的操作;如果否,则不执行发送彩色的弹幕,直接提示用户登录;
S2、判断当前点击发送按钮的时间-上一次点击发送按钮的时间-指定时间间隔是否大于零,如果是,则允许发送彩色弹幕;如果否,则不允许发送彩色弹幕;
S3、如果步骤S2中允许发送彩色弹幕,进一步判断用户当前发送内容是否与上一次发送内容一致,如果一致,使用弹框提示用户不要发送相同的内容;如果不一致,则允许用户发送。
在上述技术方案的基础上,所述指定时间间隔设置为3秒。
本发明还提供一种发送彩色弹幕的系统,该系统包括判断单元、彩色弹幕发送单元,其中:
判断单元用于:判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则触发彩色弹幕发送单元工作;
彩色弹幕发送单元用于:创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。
在上述技术方案的基础上,该系统还包括异常判断单元,异常判断单元用于:
判断用户是否登录,如果是,则执行发送彩色弹幕的操作;如果否,则不执行发送彩色的弹幕,直接提示用户登录;
判断当前点击发送按钮的时间-上一次点击发送按钮的时间-指定时间间隔是否大于零,如果是,则允许发送彩色弹幕;如果否,则不允许发送彩色弹幕;
如果允许发送彩色弹幕,进一步判断用户当前发送内容是否与上一次发送内容一致,如果一致,使用弹框提示用户不要发送相同的内容;如果不一致,则允许用户发送。
在上述技术方案的基础上,所述指定时间间隔设置为3秒。
与现有技术相比,本发明的优点如下:
(1)本发明判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。在设定的彩色弹幕服务器上,为了避免有些特殊字符或者文案不能变为彩色,因此限定了文字和表情的符号,才能发送彩色弹幕,判断彩色弹幕的是否符合规则,提高了用户体验;使用异步队列的过程,异步会新建线程,保证不足赛主线程的操作,在串行队列中操作,保证每个线程中的弹幕发送的过程有先后,这样既有顺序,又可以不阻塞主线程,实现了彩色弹幕的发送。
(2)本发明实现了彩色弹幕的发送,可以向发彩色弹幕的权限收取费用,也可以让某些会员用户或者VIP用户,试用一种彩色弹幕方案,让会员用户或者付费比较多的用户拥有这个权限,促进付费,增加经济效益。
(3)本发明在发送彩色弹幕前进行异常判断,引入了判断条件,判断用户是否登录行为,对于未登录用户,让用户提示用户去登录,增加整个app的登录的用户量,提高用户粘性。
(4)本发明在发送彩色弹幕前进行异常判断,使用了发言时间判断,能够有效避免某一个用户在单位时间内刷屏,减少管理的工作量。
(5)本发明在发送彩色弹幕前进行异常判断,判断是否两次发送相同的内容,禁止用户发送重复的内容,对于提高app的体验至关重要。
附图说明
图1是本发明实施例中发送彩色弹幕的方法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种发送彩色弹幕的方法,包括以下步骤:
S1、判断用户是否登录,如果是,则执行发送彩色弹幕的操作;如果否,则不执行发送彩色的弹幕,直接提示用户登录;
S2、判断当前点击发送按钮的时间-上一次点击发送按钮的时间-指定时间间隔是否大于零,如果是,则允许发送彩色弹幕;如果否,则不允许发送彩色弹幕;指定时间间隔可以设置为3秒;
S3、如果步骤S2中允许发送彩色弹幕,进一步判断用户当前发送内容是否与上一次发送内容一致,如果一致,使用弹框提示用户不要发送相同的内容;如果不一致,则允许用户发送;
S4、判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。
本发明实施例还提供一种发送彩色弹幕的系统,该系统包括判断单元、彩色弹幕发送单元,其中:
判断单元用于:判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则触发彩色弹幕发送单元工作;
彩色弹幕发送单元用于:创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。
该系统还可以包括异常判断单元,异常判断单元用于:
判断用户是否登录,如果是,则执行发送彩色弹幕的操作;如果否,则不执行发送彩色的弹幕,直接提示用户登录;
判断当前点击发送按钮的时间-上一次点击发送按钮的时间-指定时间间隔是否大于零,如果是,则允许发送彩色弹幕;如果否,则不允许发送彩色弹幕;指定时间间隔可以设置为3秒;
如果允许发送彩色弹幕,进一步判断用户当前发送内容是否与上一次发送内容一致,如果一致,使用弹框提示用户不要发送相同的内容;如果不一致,则允许用户发送。
下面通过一个具体案例进行说明。
步骤一、发送彩色弹幕前的异常判断
(1)用户选择彩色弹幕按钮,第一步是判断用户是否登录,判断用户是否登录的语句是[DYUserManger shareInstant]isLogin],这条语句中的DYUserManger是我们自己创建的一个用户管理的类,其中,shareInstant是这个用户管理类获取一个用户管理对象的方法,[DYUserManger shareInstant]获取到一个用户管理对象,这个获取的用户管理对象就可以使用isLogin函数判断一个用户是否登录了,如果用户已经登录,直接返回YES,这个判断语句为真,执行发送彩色弹幕的操作;如果返回为NO,就不执行发送彩色的弹幕,直接提示用户登录;
(2)_messageCD=当前点击发送按钮的时间-上一次点击发送按钮的时间-指定时间间隔,判断if(_messageCD>0),如果判断成立,messageCD>0,则允许发送彩色弹幕;如果否,则说明用户发言的时间过短,不允许发送彩色弹幕;指定时间间隔可以人为配置,例如:可以设置为3秒;
如果if(_messageCD>0)判断不成立,使用函数[[UIAlertView alloc]initWithTitle:创建一个弹框并且显示出来,其中函数[UIAlertViewalloc]是创建一个弹框的过程,为弹框分配内存,initWithTitle是为这个弹框设置提示内容,一般的提示内容是:你的发言时间过短,同时直接return,终止函数的执行,不让发言;
(3)如果步骤(2)中允许发送彩色弹幕,可以发言,使用if(theSameContent),进一步判断用户当前发送内容是否与上一次发送内容一致,如果一致,使用弹框提示用户不要发送相同的内容;如果不一致,则允许用户发送。
theSameContent是一个BOOL值,theSameContent的获得过程如下:用户发送一条弹幕,记录发送弹幕的内容为oldSendContent,用户再次发送弹幕的内容为willSendContent,使用OC语言的方法,isEqualToString,比较oldSendContent和willSendContent是否相同,如果上一次发送的弹幕内容和这一次的弹幕内容相同,说明用户在发送相同的内容,theSameContent置为YES,否则theSameContent置为NO。
步骤二、发送彩色弹幕
(1)判断彩色弹幕是否真的符合彩色弹幕的要求
在我们设定的彩色弹幕服务器上,为了避免有些特殊字符或者文案不能变为彩色,因此限定了文字和表情的符号才能发送彩色弹幕,判断彩色弹幕的是否符合规则,是使用danmuContainOnlySpaceAndEmoji函数判断,这个函数的编写过程是:
1.1)使用OC语言的自带的系统函数stringByReplacingOccurrencesOfString将弹幕内容的@””(即OC语言的空格)替换为@””(即OC语言中不包含任何内容的字符串);
1.2)使用函数语句regularExpressionWithPattern:@\\[emot+\\:+[a-zA-Z0-9]+\\],判断当前的弹幕内容是否只含文字和/或表情,其中这个函数regularExpressionWithPattern是系统的正则表达式,@\\[emot+\\:+[a-zA-Z0-9]+\\]是一个正则表达式的判断条件;
1.3)上述正则表达式就可以判断当前的弹幕内容是否只含文字和/或表情,如果是只含文字和/或表情,返回为YES;否则返回为NO。
(2)如果步骤(1)中判定只含文字和/或表情,就可以执行发送弹幕内容的操作,发送彩色弹幕的过程是:-(void)sendDanmu:(NSString*)danmu color:(int)colorisNobleType:(BOOL)isNobleType函数实现的,这个函数的返回值是void,即没有返回值,其中有4个参数,参数danmu的类型是字符串类型的,代表的是弹幕内容,参数color是发送的彩色弹幕的颜色,color是用户选择的弹幕颜色值,再讲选择的颜色值转化为数字传给后台,isNobleType是BOOL型的,意思是这个弹幕是不是贵族弹幕,如果当前的登录用户的身份是贵族,那么isNobleType=YES,否则为NO,这个函数的编写过程如下:
2.1)使用函数dispatch_queue_create(DY_SOCKET_QUEUE,DISPATCH_QUEUE_SERIAL),创建一个串行队列,DY_SOCKET_QUEUE是创建的队列的名字,每个队列都有一个名字,DISPATCH_QUEUE_SERIAL是代表苹果语言的串行队列;
2.2)使用函数dispatch_async,创建一个异步线程;
2.3)发送弹幕的代码放在这个串行队列异步线程中进行,发送弹幕的代码是SendMsg(danmu,color,0),其中这几个函数是上述步骤中传入进来的,这个函数是SendMsg是公司为了提高弹幕发送的安全性封装的SDK,供应用层调用的。
综上所述,本发明实施例通过对彩色弹幕的异常判断,能够有效的提高程序的可用性,减少网管的压力;判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。保证了顺序发送弹幕消息,新开线程,不阻塞主线程,实现了彩色弹幕的发送。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。
Claims (6)
1.一种发送彩色弹幕的方法,其特征在于,包括以下步骤:
判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。
2.如权利要求1所述的发送彩色弹幕的方法,其特征在于:所述执行发送彩色弹幕的操作之前,还包括以下步骤:
S1、判断用户是否登录,如果是,则执行发送彩色弹幕的操作;如果否,则不执行发送彩色的弹幕,直接提示用户登录;
S2、判断当前点击发送按钮的时间-上一次点击发送按钮的时间-指定时间间隔是否大于零,如果是,则允许发送彩色弹幕;如果否,则不允许发送彩色弹幕;
S3、如果步骤S2中允许发送彩色弹幕,进一步判断用户当前发送内容是否与上一次发送内容一致,如果一致,使用弹框提示用户不要发送相同的内容;如果不一致,则允许用户发送。
3.如权利要求2所述的发送彩色弹幕的方法,其特征在于:所述指定时间间隔设置为3秒。
4.一种发送彩色弹幕的系统,其特征在于,该系统包括判断单元、彩色弹幕发送单元,其中:
判断单元用于:判断当前的弹幕内容是否只含文字和/或表情,如果否,不执行操作;如果是,则触发彩色弹幕发送单元工作;
彩色弹幕发送单元用于:创建一个串行队列;创建一个异步线程;将发送彩色弹幕的代码放在该串行队列的异步线程中,执行发送彩色弹幕的操作。
5.如权利要求4所述的发送彩色弹幕的系统,其特征在于,该系统还包括异常判断单元,异常判断单元用于:
判断用户是否登录,如果是,则执行发送彩色弹幕的操作;如果否,则不执行发送彩色的弹幕,直接提示用户登录;
判断当前点击发送按钮的时间-上一次点击发送按钮的时间-指定时间间隔是否大于零,如果是,则允许发送彩色弹幕;如果否,则不允许发送彩色弹幕;
如果允许发送彩色弹幕,进一步判断用户当前发送内容是否与上一次发送内容一致,如果一致,使用弹框提示用户不要发送相同的内容;如果不一致,则允许用户发送。
6.如权利要求5所述的发送彩色弹幕的系统,其特征在于:所述指定时间间隔设置为3秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710169992.4A CN106951334A (zh) | 2017-03-21 | 2017-03-21 | 发送彩色弹幕的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710169992.4A CN106951334A (zh) | 2017-03-21 | 2017-03-21 | 发送彩色弹幕的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106951334A true CN106951334A (zh) | 2017-07-14 |
Family
ID=59473651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710169992.4A Pending CN106951334A (zh) | 2017-03-21 | 2017-03-21 | 发送彩色弹幕的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106951334A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108551585A (zh) * | 2018-03-28 | 2018-09-18 | 武汉斗鱼网络科技有限公司 | 一种弹幕校验方法、装置、服务器及介质 |
CN109445952A (zh) * | 2017-08-31 | 2019-03-08 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息的显示调试方法和装置 |
CN110018890A (zh) * | 2018-01-10 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 一种线程间的交互方法、电子设备及可读存储介质 |
CN113395567A (zh) * | 2021-06-11 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种字幕展示方法和相关装置 |
CN113923505A (zh) * | 2021-12-14 | 2022-01-11 | 飞狐信息技术(天津)有限公司 | 弹幕处理方法、装置及电子设备和存储介质 |
CN114998880A (zh) * | 2022-05-18 | 2022-09-02 | 慧之安信息技术股份有限公司 | 基于lstm技术的暴力低俗弹幕检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104661096A (zh) * | 2013-11-21 | 2015-05-27 | 深圳市快播科技有限公司 | 视频弹幕添加方法及装置和视频播放方法及视频播放器 |
CN105491458A (zh) * | 2015-11-27 | 2016-04-13 | 武汉斗鱼网络科技有限公司 | 一种直播网站中弹幕发言时间的优化方法 |
CN105516820A (zh) * | 2015-12-10 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种弹幕交互方法和装置 |
CN105872679A (zh) * | 2015-12-31 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 弹幕显示方法和装置 |
CN106371834A (zh) * | 2016-08-30 | 2017-02-01 | 广州新博庭网络信息科技股份有限公司 | 一种弹幕数据的显示方法和装置 |
-
2017
- 2017-03-21 CN CN201710169992.4A patent/CN106951334A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104661096A (zh) * | 2013-11-21 | 2015-05-27 | 深圳市快播科技有限公司 | 视频弹幕添加方法及装置和视频播放方法及视频播放器 |
CN105491458A (zh) * | 2015-11-27 | 2016-04-13 | 武汉斗鱼网络科技有限公司 | 一种直播网站中弹幕发言时间的优化方法 |
CN105516820A (zh) * | 2015-12-10 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种弹幕交互方法和装置 |
CN105872679A (zh) * | 2015-12-31 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 弹幕显示方法和装置 |
CN106371834A (zh) * | 2016-08-30 | 2017-02-01 | 广州新博庭网络信息科技股份有限公司 | 一种弹幕数据的显示方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445952A (zh) * | 2017-08-31 | 2019-03-08 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息的显示调试方法和装置 |
CN110018890A (zh) * | 2018-01-10 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 一种线程间的交互方法、电子设备及可读存储介质 |
CN108551585A (zh) * | 2018-03-28 | 2018-09-18 | 武汉斗鱼网络科技有限公司 | 一种弹幕校验方法、装置、服务器及介质 |
CN113395567A (zh) * | 2021-06-11 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种字幕展示方法和相关装置 |
CN113395567B (zh) * | 2021-06-11 | 2022-07-05 | 腾讯科技(深圳)有限公司 | 一种字幕展示方法和相关装置 |
CN113923505A (zh) * | 2021-12-14 | 2022-01-11 | 飞狐信息技术(天津)有限公司 | 弹幕处理方法、装置及电子设备和存储介质 |
CN113923505B (zh) * | 2021-12-14 | 2022-03-01 | 飞狐信息技术(天津)有限公司 | 弹幕处理方法、装置及电子设备和存储介质 |
CN114998880A (zh) * | 2022-05-18 | 2022-09-02 | 慧之安信息技术股份有限公司 | 基于lstm技术的暴力低俗弹幕检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951334A (zh) | 发送彩色弹幕的方法及系统 | |
CN103152402A (zh) | 通过移动终端进行登录的方法与系统以及云端服务器 | |
CN105577527A (zh) | 一种智能手表与微信平台的交互方法、装置和智能手表 | |
CN104869099A (zh) | 一种基于指纹账户的多网络帐号登录方法及系统 | |
CN102724079B (zh) | 一种以太网设备辅助配置的方法及系统 | |
EP3379771B1 (en) | Message processing method, device and system | |
CN107391626A (zh) | 落地页的创建方法和装置 | |
CN110110544A (zh) | Android智能终端隐私保护方法及装置 | |
CN107749799A (zh) | 家电设备的配网方法、装置、系统及计算机可读存储介质 | |
CN112422557A (zh) | 一种工控网络的攻击测试方法及装置 | |
CN104022878A (zh) | 一种贴膜sim卡及相应的应用鉴权系统和鉴权方法 | |
CN105897475A (zh) | 一种路由器的远程配置方法及路由器 | |
CN103051625B (zh) | 一种利用智能终端监控联网应用程序的方法及系统 | |
CN102984025B (zh) | 网关设备虚拟隧道性能的测试方法、装置及系统 | |
CN106559304A (zh) | 一种虚拟专用网络的连接配置方法和装置 | |
CN102377647B (zh) | 一种基于网络电视的路由配置方法及系统 | |
CN101873593A (zh) | 一种基于Android的Wifi无线拨号系统及方法 | |
CN108712376A (zh) | 一种用于服务器登录的验证方法及装置 | |
CN105528546B (zh) | 一种挖掘漏洞的方法、装置及电子设备 | |
CN113965904A (zh) | 设备注册方法、装置和存储介质 | |
CN106533959B (zh) | 一种交换设备出口端速率的确定方法及交换设备 | |
CN108550366A (zh) | 一种家电的控制方法、装置、可读存储介质及设备 | |
CN102005001B (zh) | 一种网上银行登录方法、装置及系统 | |
CN106604247A (zh) | 一种利用北斗短信息通道智能开通二代卫星网络的方法 | |
CN104780157B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170714 |
|
RJ01 | Rejection of invention patent application after publication |