CN101527691B - 消息状态报告处理方法和网络服务器 - Google Patents
消息状态报告处理方法和网络服务器 Download PDFInfo
- Publication number
- CN101527691B CN101527691B CN2009101300106A CN200910130010A CN101527691B CN 101527691 B CN101527691 B CN 101527691B CN 2009101300106 A CN2009101300106 A CN 2009101300106A CN 200910130010 A CN200910130010 A CN 200910130010A CN 101527691 B CN101527691 B CN 101527691B
- Authority
- CN
- China
- Prior art keywords
- status report
- message status
- module
- processing
- webserver
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种消息状态报告处理方法及网络服务器,所述网络服务器包括接收模块、处理模块、与所述接收模块及处理模块连接的管理模块,其中,所述接收模块,用于接收消息状态报告,还用于向所述管理模块发送缓存请求,其中携带所述消息状态报告;所述处理模块,用于循环向所述管理模块发送提取请求;还用于接收所述管理模块发送的所述消息状态报告,并进行处理;所述管理模块,用于接收所述缓存请求,并保存所述消息状态报告;还用于接收所述提取请求,并提取保存的消息状态报告发送给所述处理模块。本发明方法及网络服务器,可以提高处理效率及系统稳定性。
Description
技术领域
本发明涉及互联网通信技术,尤其是一种消息状态报告的处理方法和实现该方法的网络服务器。
背景技术
随着互联网与通讯相结合越来越紧密,Web通讯应用也越来越广泛。在各种Web通讯应用中,消息(短信、彩信)类应用以其应用范围广泛,用户终端种类繁多,业务供应商(SP,Service Provider)可以方便接入等众多优点成为Web通讯应用中的佼佼者。
当前Web消息处理机制,主要模式是由SP提供Web页面,通过规范的接口,接入到运营商提供的webservice服务上,由运营商调用相应方法向多媒体消息网关(如Intergrated Service Access ateway,简称ISAG,)发出消息递送请求,由ISAG完成消息投递,并向运营商webservice返回状态报告,报告消息投递的结果。
在处理消息投递的结果的过程中,一般的做法是接收到状态报告后进行一系列划价统计等处理过程,将处理结果写入数据库中。这种方法的缺点是:当同时有大量状态报告返回时,由于每个状态报告的处理过程需要入库,会造成后面的状态报告积压,过多的积压后会导致部分状态报告被抛弃,这种情况在群发消息返回状态报告的处理过程中尤为显著,最终会导致状态报告统计数据不正确,影响运营商和SP的业务分成。
发明内容
本发明要解决的的技术问题是提供一种消息状态报告的处理方法及网络服务器,以提高处理效率及系统稳定性。
为解决上述技术问题,本发明提供一种消息状态报告处理方法,该方法基于网络服务器实现,该方法包括:
(a)网络服务器接收消息状态报告;
(b)网络服务器保存所述消息状态报告;
(c)网络服务器对保存的消息状态报告进行处理。
进一步地,步骤(c)是定时执行的。
进一步地,步骤(c)中网络服务器对保存的消息状态报告是逐条处理的,并删除处理成功的消息状态报告。
进一步地,所述网络服务器保存的所述消息状态报告的新增、修改或删除操作是依次进行的。
为解决以上技术问题,本发明还提供一种网络服务器,用于处理消息状态报告,所述网络服务器包括接收模块、处理模块、与所述接收模块及处理模块连接的管理模块,其中,
所述接收模块,用于接收消息状态报告,还用于向所述管理模块发送缓存请求,其中携带所述消息状态报告;
所述处理模块,用于循环向所述管理模块发送提取请求;还用于接收所述管理模块发送的所述消息状态报告,并进行处理;
所述管理模块,用于接收所述缓存请求,并保存所述消息状态报告;还用于接收所述提取请求,并提取保存的消息状态报告发送给所述处理模块。
进一步地,对所述消息状态报告处理失败时,所述处理模块还用于向所述管理模块发送回存请求,其中携带处理失败的消息状态报告;所述管理模块提取所述消息状态报告时,还用于删除所述消息状态报告;以及接收所述回存请求,并回存所述消息状态报告。
进一步地,所述处理模块还用于向管理模块返回处理响应,所述管理模块还用于根据处理模块返回的处理响应保存或删除对应的所述消息状态报告,若所述处理响应显示处理成功,所述管理模块则删除对应的消息状态报告,若所述处理响应显示处理失败,则所述管理模块修改对应的消息状态报告。
进一步地,所述管理模块对保存的消息状态报告的新增、修改或删除操作是依次进行的。
进一步地,所述管理模块还用于保存所述消息状态报告时,生成消息状态报告列表;还用于将所述消息状态报告列表发送给所述处理模块,所述处理模块根据所述列表循环发送所述提取状态报告请求。
进一步地,所述网络服务器还包括与处理模块连接的控制模块,所述控制模块用于定时启动处理模块。
相较于现有技术,本发明消息状态报告的处理方法和网络服务器对接收的消息状态报告进行缓存后,再逐一进行处理,极大地提高了状态报告的处理效率,避免了因处理不及时而造成消息状态报告挤压或丢失,且由于状态报告处理效率的提高,使得锁定状态报告的同步时间大大减少,系统稳定性得以提高;另外,本发明方法和网络服务器利用内存数据池管理机制,结合定时任务处理技术,实现了大规模状态报告返回的快速存储和集中处理入库的过程,极大减轻了数据库的负荷,且可配置的定时任务可有效的调整数据集中入库的时间间隔,方便优化系统效率。
附图说明
图1是消息业务系统的结构示意图。
图2.是本发明web服务器的应用实例示意图。
图3是本发明消息状态报告的处理方法中的接收存储流程示意图。
图4是本发明消息状态报告的处理方法中的处理流程示意图。
图5是本发明web服务器的模块结构示意图。
具体实施方式
如图1所示,一般而言,消息业务通过用户终端、业务供应商(SP)业务处理服务器和运营商业务处理构成的消息业务系统实现的,以运营商业务处理系统为核心,其关键点在于webservice应用的状态报告接收和管理,采用JAVA语言实现。
运营商业务处理系统包括业务处理服务器、多媒体消息网关、综合接口机服务器及网络服务器(以下称为Web服务器),其中,
业务处理服务器用于处理用户或业务供应商SP的短信收发请求,进行鉴权和资费管理。
多媒体消息网关(如ISAG)用于接收业务的消息发送请求,向短消息中心和彩信中心转发短消息和彩信,根据发送的情况向网络服务器返回消息发送的状态报告。
本发明消息状态报告的处理方法基于Web服务器实现,包括以下步骤:
步骤一:Web服务器接收消息状态报告;
步骤二:Web服务器保存接收的所述消息状态报告;
步骤三:Web服务器对保存的消息状态报告进行处理。
如图5所示,本发明web服务器包括接收模块、处理模块、与接收模块及处理模块连接的管理模块、与处理模块连接的控制模块、及与处理模块连接的业务数据库,其中,
接收模块,用于接收多媒体消息网关发送的消息状态报告,还用于向管理模块发送缓存请求,其中携带所述消息状态报告;
管理模块,用于接收模块的缓存请求并保存消息状态报告,同时生成消息状态报告列表,并向接收模块返回响应,还用于向处理模块发送消息状态报告列表;还用于接收处理模块发送的提取请求,并提取所述消息状态报告发送给所述处理模块;还用于删除提取的消息状态报告,以及根据回存请求回存对应消息状态报告;
管理模块对保存的消息状态报告的新增、修改或删除操作是依次进行的,以保证保存的消息状态报告的一致性。
控制模块,用于定时通知处理模块执行或结束处理操作,还用于接收处理模块的处理结果响应;
处理模块,用于接收所述消息状态报告列表,以及根据所述列表循环向管理模块发送状态报告提取请求,以及对管理模块发送的消息状态报告进行处理,若处理成功则将消息状态报告及处理结果保存入业务数据库,若处理失败,则向管理模块发送回存状态报告请求,其中携带处理失败的消息状态报告;还用于遍历处理所有状态报告时或处理周期结束时向控制模块返回处理结果响应。
业务数据库,用于保存处理模块处理后的消息状态报告及处理结果。
图2是本发明web服务器的具体应用实例,其中,webservice接收接口实现接收模块功能,状态报告池管理器实现管理模块的管理功能,报告状态池相当于内存库,用于实现管理模块的存储功能,任务管理器实现控制模块功能,状态报告处理任务实现处理模块功能,业务数据库用于存储处理结果,相当于物理库。
本发明消息状态报告的处理方法包括接收存储流程及处理流程,以下结合附图分别对两个流程进行说明:
如图3所示,消息状态报告的接收存储流程包括以下步骤:
步骤301:webservice接收接口接收消息状态报告;
多媒体消息网关ISAG调用规范接口将消息的状态报告返回给运营商Web服务器的webservice接收接口,webservice接收接口接收所述消息状态报告,实现接收模块功能。
步骤302:webservice接收接口向状态报告池管理器发送缓存状态报告请求;
在webservice接收接口中调用状态报告池管理器的方法PoolManager,向状态报告池管理器发缓存状态报告请求。在状态报告池管理器中详细实现状态报告入池的操作,向状态报告池插入消息状态报告。
步骤303:保存消息状态报告,实现消息状态报告管理;
状态报告池管理器向状态报告池保存消息状态报告,每个消息返回的状态报告在池中存为一个结构,具有一个存储索引号,便于检查操作及数据管理。整个状态报告池由多个状态报告信息结构组成。
对状态报告池中状态报告的管理体现在整个处理过程中,包括将新接收的消息状态报告新增到状态报告池,及对状态报告池中的消息状态报告进行修改或删除。
该状态报告池采用静态变量,通过唯一实例保证状态报告池数据的唯一性。
为保证状态报告池数据的一致性,状态报告池管理器使用一个同步方法PoolManage实现状态报告的增加/修改/删除操作,确保在同一时间内只有一个线程对状态报告池进行写操作,根据输入的数据操作参数(如增加、修改或删除)决定不同的操作。
具体来说,若有多个线程分别执行增加、修改或删除操作,则该些线程会在统一控制下依次进行,称为状态报告池管理机制。
如图4所示,消息状态报告的处理流程包括以下步骤:
步骤401:定时触发状态报告处理;
任务管理器在触发时间到达后触发状态报告处理任务,触发时间通过配置文件可配置,以期达到最优化的状态报告入库存储效率。
步骤402:发提取状态报告请求;
状态报告处理任务从状态报告池获得当前未处理消息状态报告列表,循环向状态报告池管理器发状态报告请求。
步骤403:提取消息状态报告;
状态报告池管理器向状态报告处理任务返回需要的状态报告并从状态报告池中将已提取状态报告记录删除。
步骤404:状态报告处理任务对提取的消息状态报告进行处理操作;若处理成功,执行步骤405,否则执行步骤406;
步骤405:状态报告处理任务执行状态报告的入库处理,转执行步骤408;
步骤406:状态报告处理任务向状态报告池管理器请求回存未成功处理的消息状态报告,等待下一次任务调用时再处理;
步骤407:状态报告池管理器重新保存状态报告;
步骤408:循环执行步骤402直至提取完所有消息状态报告或处理周期结束;
步骤409:状态报告处理任务向任务管理器返回处理结果响应。
对web服务器而言,接收存储流程与处理流程之间没有严格的先后顺序,二者可以同步进行,以提高系统处理速度,而步骤302的新增保存操作及步骤403的删除及步骤407的重新保存操作应保证存储的消息状态报告的正确性与唯一性。
对某一消息状态报告而言,一定是先接收存储、再进行处理的。
以上处理流程中,状态报告处理任务是先从状态报告池获取未处理的状态报告列表,再根据列表通过状态报告池管理器循环提取状态报告的,当然,状态报告处理任务也可以通过状态报告池管理器获取状态报告列表,或无需状态报告列表直接通过状态报告池依次提取状态报告池中的各消息状态报告。
以上处理流程中,状态报告池管理器是在提取消息状态报告时直接从状态报告池删除该消息状态报告的,并在处理失败时,根据状态报告处理任务的请求,将处理失败的消息状态报告回存到状态报告池的,当然也可以先提取消息状态报告,再由状态报告池管理器根据状态处理任务的处理结果响应,删除或保留提取过的消息状态报告。
与以上web服务器中处理模块仅在处理失败时返回回存请求不同的是,所述处理模块用于向管理模块返回处理响应,所述管理模块还用于根据处理模块返回的处理响应保存或删除对应的所述消息状态报告,若所述处理响应显示处理成功,所述管理模块则删除对应的消息状态报告,若所述处理响应显示处理失败,则所述管理模块修改对应的消息状态报告
为了保证状态报告池中数据的唯一性,所述管理模块必须执行状态报告池管理机制,即对保存的消息状态报告的新增、修改或删除操作是依次进行的。
本发明通过将散列的状态报告处理集中到状态报告池中,然后通过任务统一入库,极大减缓了数据库写入的负荷,同时又提高了状态报告的保存效率。
在测试过程中,未使用本方法,使用传统的单个状态报告入库方法时,在ISAG状态报告返回不频繁不集中的情况下,可以及时响应状态报告,当同时返回的状态报告达到5个以上时,状态报告的处理会产生一定延时,当同时返回的状态报告达到25个以上时,将产生一定状态报告的丢弃。测试使用短信和彩信群发的时候,群发给50个用户并立刻得到状态报告时,系统丢弃的状态报告将达到50%,主要是在入库过程中数据库不能及时处理而丢弃。
而使用本方法后,同样群发给50个用户并立刻得到状态报告,所有状态报告都及时得到正确保存,对状态报告的入库也变成任务间隔时间执行一次集中入库,大大减轻了数据库的负荷。
本发明可应用于以下情况:
一:Web消息系统比较繁忙,经常有间歇性集中的状态报告返回时,可使用本发明。
二:Web消息系统支持群发消息(短信/彩信),群发用户数目庞大,返回的状态报告数目较多且相对集中时,可使用本发明。
三:其它门户(如WAP门户、短信门户等)的消息系统支持群发消息(短信/彩信)时,群发用户数目庞大,返回的状态报告数目较多且相对集中时,可使用本发明。
相较于现有技术,本发明消息状态报告的处理方法和网络服务器对接收的消息状态报告进行缓存后,再逐一进行处理,极大地提高了状态报告的处理效率,避免了因处理不及时而造成消息状态报告挤压或丢失,且由于状态报告处理效率的提高,使得锁定状态报告的同步时间大大减少,系统稳定性得以提高;另外,本发明方法和网络服务器利用内存数据池管理机制,结合定时任务处理技术,实现了大规模状态报告返回的快速存储和集中处理入库的过程,极大减轻了数据库的负荷,且可配置的定时任务可有效的调整数据集中入库的时间间隔,方便优化系统效率。
Claims (9)
1.一种网络服务器,用于处理消息状态报告,其特征在于:所述网络服务器包括接收模块、处理模块、与所述接收模块及处理模块连接的管理模块,其中,
所述接收模块,用于接收消息状态报告,还用于向所述管理模块发送缓存请求,其中携带所述消息状态报告;
所述处理模块,用于根据消息状态报告列表循环向所述管理模块发送消息状态报告提取请求;还用于接收所述管理模块发送的所述消息状态报告,并进行处理;
所述管理模块,用于接收所述缓存请求,并保存所述消息状态报告;保存所述消息状态报告时,生成所述消息状态报告列表;还用于将所述消息状态报告列表发送给所述处理模块;还用于接收所述提取请求,并提取保存的消息状态报告发送给所述处理模块。
2.如权利要求1所述的网络服务器,其特征在于:对所述消息状态报告处理失败时,所述处理模块还用于向所述管理模块发送回存请求,其中携带处理失败的消息状态报告;所述管理模块提取所述消息状态报告时,还用于删除所述消息状态报告,以及接收所述回存请求,并回存所述消息状态报告。
3.如权利要求1所述的网络服务器,其特征在于:所述处理模块还用于向管理模块返回处理响应,所述管理模块还用于根据处理模块返回的处理响应保留或删除对应的所述消息状态报告,若所述处理响应显示处理成功,所述管理模块则删除对应的消息状态报告,若所述处理响应显示处理失败,则所述管理模块保留对应的消息状态报告。
4.如权利要求1至3中任一项所述的网络服务器,其特征在于:所述管理模块对保存的消息状态报告的新增、修改、删除操作是在统一控制下依次进行的。
5.如权利要求1至3中任一项所述的网络服务器,其特征在于:所述网络服务器还包括与处理模块连接的控制模块,所述控制模块用于定时启动处理模块。
6.一种消息状态报告处理方法,其特征在于,该方法基于如权利要求1所述的网络服务器实现,该方法包括:
网络服务器的接收模块接收消息状态报告;向管理模块发送缓存请求,其中携带所述消息状态报告;
网络服务器的管理模块保存所述消息状态报告;保存所述消息状态报告时,生成所述消息状态报告列表;将所述消息状态报告列表发送给所述处理模块;
网络服务器的处理模块根据消息状态报告列表循环向所述管理模块发送消息状态报告提取请求;
网络服务器的管理模块接收所述提取请求,并提取保存的消息状态报告发送给所述处理模块;
网络服务器的处理模块接收所述管理模块发送的所述消息状态报告,并进行处理。
7.如权利要求6所述的方法,其特征在于:处理模块的操作是定时执行的。
8.如权利要求6所述的方法,其特征在于:网络服务器的处理模块对消息状态报告是逐条处理的,并删除处理成功的消息状态报告。
9.如权利要求6至8中任一项所述的方法,其特征在于:所述网络服务器保存的所述消息状态报告的新增、修改、删除操作是在统一控制下依次进行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101300106A CN101527691B (zh) | 2009-03-26 | 2009-03-26 | 消息状态报告处理方法和网络服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101300106A CN101527691B (zh) | 2009-03-26 | 2009-03-26 | 消息状态报告处理方法和网络服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101527691A CN101527691A (zh) | 2009-09-09 |
CN101527691B true CN101527691B (zh) | 2012-05-23 |
Family
ID=41095392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101300106A Expired - Fee Related CN101527691B (zh) | 2009-03-26 | 2009-03-26 | 消息状态报告处理方法和网络服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101527691B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105813037B (zh) * | 2014-12-30 | 2020-09-15 | 南京中兴新软件有限责任公司 | 短信并发业务处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1829339A (zh) * | 2006-03-30 | 2006-09-06 | 四川移动通信有限责任公司 | 通过点对点短信方式实现其他增值业务的系统和方法 |
CN101035127A (zh) * | 2007-01-16 | 2007-09-12 | 中兴通讯股份有限公司 | 在传送多媒体消息业务中向服务提供商传送报告消息的方法 |
CN101198084A (zh) * | 2006-12-08 | 2008-06-11 | 中兴通讯股份有限公司 | 一种实现多媒体消息回执业务的系统 |
CN101448207A (zh) * | 2007-11-26 | 2009-06-03 | 华为技术有限公司 | 一种发送多媒体消息的递送报告的方法及装置 |
CN101686210A (zh) * | 2008-09-26 | 2010-03-31 | 华为技术有限公司 | 一种处理即时消息报告或即时消息的方法和装置 |
-
2009
- 2009-03-26 CN CN2009101300106A patent/CN101527691B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1829339A (zh) * | 2006-03-30 | 2006-09-06 | 四川移动通信有限责任公司 | 通过点对点短信方式实现其他增值业务的系统和方法 |
CN101198084A (zh) * | 2006-12-08 | 2008-06-11 | 中兴通讯股份有限公司 | 一种实现多媒体消息回执业务的系统 |
CN101035127A (zh) * | 2007-01-16 | 2007-09-12 | 中兴通讯股份有限公司 | 在传送多媒体消息业务中向服务提供商传送报告消息的方法 |
CN101448207A (zh) * | 2007-11-26 | 2009-06-03 | 华为技术有限公司 | 一种发送多媒体消息的递送报告的方法及装置 |
CN101686210A (zh) * | 2008-09-26 | 2010-03-31 | 华为技术有限公司 | 一种处理即时消息报告或即时消息的方法和装置 |
Non-Patent Citations (1)
Title |
---|
JP特开2002-111707A 2002.04.12 |
Also Published As
Publication number | Publication date |
---|---|
CN101527691A (zh) | 2009-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9131054B2 (en) | Synchronization in unified messaging systems | |
US20180365254A1 (en) | Method and apparatus for processing information flow data | |
CN101155049B (zh) | 一种消息系统中会话历史处理方法及消息系统 | |
CN103190123B (zh) | 用于分发发布的消息的方法和装置 | |
CN111277639B (zh) | 一种保持数据一致性的方法和装置 | |
US9442925B2 (en) | Regulated texting solution for mobile devices | |
CN104079696A (zh) | 联系人名片的生成方法及装置 | |
CN108509523A (zh) | 区块链数据的结构化处理方法、设备及可读存储介质 | |
EP2745263A2 (en) | Synchronizing conversation structures in web-based email systems | |
CN101184294A (zh) | 基于移动终端客户端模块实现实名呼叫业务的方法和系统 | |
CN109815214A (zh) | 数据库访问方法、系统、装置及存储介质 | |
CN106101412A (zh) | 移动通信终端的信息会话处理方法及移动通信终端 | |
CN112214802B (zh) | 一种区块链智能合约消息发布订阅方法 | |
CN107870982A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
Drohobytskiy et al. | Spark structured streaming: Customizing kafka stream processing | |
CN107066341B (zh) | 一种软件模块间的事件路由框架及方法 | |
CN111159300A (zh) | 基于区块链的数据处理方法及装置 | |
CN114063936A (zh) | 一种优化定时任务的方法、系统、设备和存储介质 | |
CN101527691B (zh) | 消息状态报告处理方法和网络服务器 | |
CN108737246B (zh) | 消息下发方法、装置、存储介质和服务器 | |
US20100174697A1 (en) | System and Methods for Automatic and Interactive Communication with Web Pages | |
US20230065823A1 (en) | Updating records in a real-time storage system | |
CN113726896A (zh) | 基于商业智能房地产行业的任务分发系统 | |
CN113220730A (zh) | 业务数据的处理系统 | |
CN114221925A (zh) | 消息推送方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20180326 |