CN101685460A - Database device, method and system for processing shared data - Google Patents
Database device, method and system for processing shared data Download PDFInfo
- Publication number
- CN101685460A CN101685460A CN200810222934A CN200810222934A CN101685460A CN 101685460 A CN101685460 A CN 101685460A CN 200810222934 A CN200810222934 A CN 200810222934A CN 200810222934 A CN200810222934 A CN 200810222934A CN 101685460 A CN101685460 A CN 101685460A
- Authority
- CN
- China
- Prior art keywords
- update request
- information
- concurrent operations
- data item
- needs
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库装置、对共享数据进行处理的方法及系统。该方法包括接收应用方发送的对数据项的更新请求;判断是否存在其它应用方正在对所述数据项进行并发操作;若存在其它应用方对所述数据项进行并发操作,判断是否需要对所述更新请求进行排队;若不需要对所述更新请求进行排队,则向所述应用方返回所述更新请求的响应消息。通过本发明实施例可以使应用方及时获知发生了并发操作,进而提高工作效率、节省资源。
The invention discloses a database device, a method and a system for processing shared data. The method includes receiving an update request for a data item sent by an application; judging whether there are other applications performing concurrent operations on the data item; if there are other applications performing concurrent operations on the data item, judging whether it is necessary to queue the update request; if the update request does not need to be queued, return a response message of the update request to the application side. Through the embodiments of the present invention, the application side can be informed of concurrent operations in time, thereby improving work efficiency and saving resources.
Description
技术领域 technical field
本发明涉及通信系统中的数据库技术,特别涉及一种数据库装置、对共享数据进行处理的方法及系统。The invention relates to the database technology in the communication system, in particular to a database device, a method and a system for processing shared data.
背景技术 Background technique
IP多媒体子系统(IP Multimedia Subsystem,简称IMS)可以实现包括语音、视频、数据在内的新一代多媒体业务。在IMS中,应用服务器(ApplicationServer,简称AS)用于提供增值的多媒体业务,归属用户服务器(简称HSS)用于保存用户数据,当用户需要使用某个AS提供的业务时,该AS会通过Sh接口向HSS获取用户数据。随着新兴网络及业务的引入,业务及用户的数量大增,为了更好地管理众多的业务及其对应的用户数据,出现了融合数据库技术。在融合数据库技术中,多个网元中的用户数据集中存储在融合数据库中,例如,在IMS中,可以对各HSS进行业务与数据的分离,执行业务功能的为归属用户服务器前端(HSS Front End,简称HSS FE),各业务与数据分离后的HSS中的数据集中存储在融合数据库中。各AS可以通过对应的HSS FE访问融合数据库,也可以通过统一的接口直接访问融合数据库。在IMS中,可能有多个AS为用户提供相同的业务,因此,对于同一个业务数据可能会有多个AS对其进行修改。以两个AS访问融合数据库为例,若这两个AS均通过同一个HSS FE访问数据库时,当该HSS FE接收到其中一个AS发送的Sh接口更新请求后,HSS FE需要检查该Sh接口更新请求中由业务标识(ServiceIndication)标识的业务数据当前是否正在被另一个AS更新,如果正在被另一个AS更新,则会向该发起Sh接口更新请求的AS返回响应,表明该数据正在被更新,该AS便会获知发生了并发事件。The IP Multimedia Subsystem (IMS for short) can realize a new generation of multimedia services including voice, video and data. In IMS, the Application Server (AS for short) is used to provide value-added multimedia services, and the Home Subscriber Server (HSS for short) is used to store user data. When a user needs to use the service provided by an AS, the AS will pass the Sh The interface obtains user data from the HSS. With the introduction of emerging networks and services, the number of services and users has increased significantly. In order to better manage numerous services and their corresponding user data, a converged database technology has emerged. In the converged database technology, the user data in multiple network elements are stored in the converged database. For example, in the IMS, the service and data of each HSS can be separated, and the service function is performed by the home user server front end (HSS Front End, referred to as HSS FE), the data in the HSS after the separation of each business and data is centrally stored in the fusion database. Each AS can access the fusion database through the corresponding HSS FE, or directly access the fusion database through a unified interface. In the IMS, there may be multiple ASs that provide the same service for the user, therefore, there may be multiple ASs that modify the same service data. Taking two ASs accessing the fusion database as an example, if the two ASs access the database through the same HSS FE, when the HSS FE receives the Sh interface update request sent by one of the ASs, the HSS FE needs to check the Sh interface update Whether the service data identified by the service identification (ServiceIndication) in the request is currently being updated by another AS, if it is being updated by another AS, a response will be returned to the AS that initiated the Sh interface update request, indicating that the data is being updated, The AS will then be notified that a concurrent event has occurred.
但是,若这两个AS通过不同的HSS FE分别访问融合数据库,或者这两个AS分别直接访问融合数据库的情况下,同样在上述并发事件发生时,即两个AS发送的更新请求中携带的业务标识(ServiceIndication)及顺序号(SequenceNumber)是相同的:融合数据库会更新相应的业务数据,更改其顺序号,并向首先发起业务数据更新请求的AS返回更新成功的响应;对于并发事件的另一个AS,对该另一个AS的更新请求进行排队,在首先发起更新请求的AS发送的更新请求处理完毕后,再对该另一个AS发送的更新请求进行处理。However, if the two ASs access the fusion database through different HSS FEs, or the two ASs directly access the fusion database respectively, when the above concurrent events occur, that is, the update requests sent by the two ASs carry The service identification (ServiceIndication) and the sequence number (SequenceNumber) are the same: the fusion database will update the corresponding service data, change its sequence number, and return a successful update response to the AS that first initiated the service data update request; One AS queues the update request of the other AS, and processes the update request sent by the other AS after the update request sent by the AS that first initiates the update request is processed.
发明人在实现本发明的过程中发现现有技术至少存在如下问题:现有技术中在发生并发时会对后一个更新请求自行进行排队处理,但是可能正在处理的更新请求需要占用很长时间,若后一个更新请求一直在排队等待处理,会造成发送后一个更新请求的应用方效率的下降。In the process of implementing the present invention, the inventor found at least the following problems in the prior art: in the prior art, when concurrency occurs, the next update request will be queued and processed by itself, but the update request that may be being processed may take a long time, If the latter update request has been queued for processing, the efficiency of the application sending the latter update request will decrease.
发明内容 Contents of the invention
本发明是提供一种数据库装置,对共享数据进行处理的方法及系统,解决现有技术中存在的并发事件发生时,不能明确通知请求更新的应用方发生了并发事件的问题。The present invention provides a database device, a method and system for processing shared data, and solves the problem in the prior art that when a concurrent event occurs, the application party requesting an update cannot be clearly notified that the concurrent event has occurred.
本发明实施例提供了一种对共享数据进行处理的方法,包括:An embodiment of the present invention provides a method for processing shared data, including:
接收应用方发送的对数据项的更新请求;Receive an update request for data items sent by the application side;
判断是否存在其它应用方正在对所述数据项进行并发操作;Determine whether other applications are performing concurrent operations on the data item;
若存在其它应用方正在对所述数据项进行并发操作,判断是否需要对所述更新请求进行排队;If other applications are performing concurrent operations on the data item, determine whether the update request needs to be queued;
若不需要对所述更新请求进行排队,则向所述应用方返回所述更新请求的响应消息。If the update request does not need to be queued, return a response message of the update request to the application side.
本发明实施例提供了一种数据库装置,包括:An embodiment of the present invention provides a database device, including:
接收模块,用于接收应用方发送的对数据项的更新请求;A receiving module, configured to receive an update request for a data item sent by the application side;
第一判断模块,用于判断是否存在其它应用方正在对所述接收模块接收的更新请求中针对的数据项进行并发操作;The first judging module is used to judge whether other application parties are performing concurrent operations on the data item targeted in the update request received by the receiving module;
第二判断模块,用于在所述第一判断模块判断出存在其它应用方正在对所述数据项进行并发操作时,判断是否需要对所述更新请求进行排队;The second judging module is configured to judge whether the update request needs to be queued when the first judging module judges that other applications are performing concurrent operations on the data item;
响应模块,用于在所述第二判断模块判断出不需要对所述更新请求进行排队,向所述应用方返回所述更新请求的响应消息。A response module, configured to return a response message of the update request to the application side when the second judging module judges that the update request does not need to be queued.
本发明实施例提供了一种对共享数据进行处理的系统,包括:An embodiment of the present invention provides a system for processing shared data, including:
第一应用方装置,用于发送对数据项的更新请求,所述更新请求中携带表明若发生并发操作该更新请求是否需要排队的信息;The first application device is configured to send an update request for a data item, and the update request carries information indicating whether the update request needs to be queued if concurrent operations occur;
第一数据库装置,用于在判断出存在其它应用方对所述数据项进行并发操作时,根据所述更新请求中携带的表明若发生并发操作该更新请求是否需要排队的信息判断是否需要对所述更新请求进行排队,并在判断出不需要对所述更新请求进行排队时,向所述第一应用方装置返回所述更新请求的响应消息。The first database device is configured to determine whether other applications need to perform concurrent operations on the data items according to the information carried in the update request indicating whether the update request needs to be queued if concurrent operations occur. queue the update request, and return a response message of the update request to the first application device when it is determined that the update request does not need to be queued.
本发明实施例还提供了一种对共享数据进行处理的系统,包括:The embodiment of the present invention also provides a system for processing shared data, including:
第二应用方装置,用于发送对数据项的更新请求;The second application-side device is configured to send an update request for the data item;
第二数据库装置,用于在判断出存在其它应用方对所述数据项进行并发操作时,根据预先配置的信息判断是否需要对所述更新请求进行排队,并在判断出不需要对所述更新请求进行排队时,向所述第二应用方装置返回所述更新请求的响应消息,所述预先配置的信息表示当特定数据类型或数据项发生并发操作是否需要排队。The second database device is configured to determine whether the update request needs to be queued according to pre-configured information when it is determined that there are other applications performing concurrent operations on the data item, and when it is determined that the update request does not need to be performed When queuing is requested, a response message of the update request is returned to the second application device, and the pre-configured information indicates whether queuing is required when concurrent operations of a specific data type or data item occur.
本发明实施例还提供了一种对共享数据进行处理的系统,包括:The embodiment of the present invention also provides a system for processing shared data, including:
第三应用方装置,用于发送对数据项的更新请求,所述更新请求中携带表明若发生并发操作该更新请求是否需要排队的信息;The third application-side device is configured to send an update request for the data item, and the update request carries information indicating whether the update request needs to be queued if concurrent operations occur;
第三数据库装置,预先配置有表示特定数据类型或数据项发生并发操作是否需要排队的预设信息,以及接收到的更新请求中携带的表明若发生并发操作该更新请求是否需要排队的信息和所述预设信息的优先级级别,用于在判断出存在其它应用方对所述数据项进行并发操作时,根据所述优先级级别判断是否需要对所述更新请求进行排队,并在判断出不需要对所述更新请求进行排队时,向所述第三应用方装置返回所述更新请求的响应消息。The third database device is pre-configured with preset information indicating whether a concurrent operation of a specific data type or data item needs to be queued, and the information carried in the received update request indicating whether the update request needs to be queued if a concurrent operation occurs. The priority level of the preset information is used to judge whether the update request needs to be queued according to the priority level when it is judged that there are other applications performing concurrent operations on the data item, and when it is judged that there is no When the update request needs to be queued, return a response message of the update request to the third application device.
由上述技术方案可知,本发明实施例在发生并发事件时,通过判断是否需要排队,向不需要排队的更新请求对应的应用方返回响应,节省该应用方等待的时间,有利于提高应用方的处理效率,同时也可以提高数据库的处理效率及节省数据库内部资源。It can be seen from the above technical solution that in the embodiment of the present invention, when a concurrent event occurs, by judging whether queuing is required, a response is returned to the application party corresponding to the update request that does not need queuing, which saves the waiting time of the application party and is beneficial to improve the application party. It can also improve the processing efficiency of the database and save the internal resources of the database.
附图说明 Description of drawings
图1为本发明对共享数据进行处理的方法实施例一的流程示意图;FIG. 1 is a schematic flowchart of Embodiment 1 of the method for processing shared data in the present invention;
图2为本发明对共享数据进行处理的方法实施例二的流程示意图;FIG. 2 is a schematic flow diagram of Embodiment 2 of the method for processing shared data in the present invention;
图3为本发明对共享数据进行处理的方法实施例三的流程示意图;FIG. 3 is a schematic flowchart of Embodiment 3 of the method for processing shared data in the present invention;
图4为本发明对共享数据进行处理的方法实施例四的流程示意图;FIG. 4 is a schematic flowchart of Embodiment 4 of the method for processing shared data in the present invention;
图5为本发明数据库装置实施例的结构示意图;5 is a schematic structural diagram of an embodiment of a database device of the present invention;
图6为本发明对共享数据进行处理的系统实施例一的结构示意图;FIG. 6 is a schematic structural diagram of Embodiment 1 of the system for processing shared data in the present invention;
图7为本发明对共享数据进行处理的系统实施例二的结构示意图;7 is a schematic structural diagram of Embodiment 2 of the system for processing shared data in the present invention;
图8为本发明对共享数据进行处理的系统实施例三的结构示意图。FIG. 8 is a schematic structural diagram of Embodiment 3 of the system for processing shared data according to the present invention.
具体实施方式 Detailed ways
图1为本发明对共享数据进行处理的方法实施例一的流程示意图,包括:Fig. 1 is a schematic flowchart of Embodiment 1 of the method for processing shared data in the present invention, including:
步骤11:承载有融合数据库的设备(以下简称数据库装置)接收应用方发送的对数据项的更新请求,该更新请求具体可以是对数据的增加、删除、修改或查询的任意一种操作请求。Step 11: The device carrying the integrated database (hereinafter referred to as the database device) receives the update request for data items sent by the application side. The update request can be any operation request for adding, deleting, modifying or querying data.
步骤12:数据库装置判断是否存在其它应用方正在对所述数据项进行更新操作,即判断是否发生了并发操作,其中,该应用方与其它应用方的操作请求可以相同也可以不同,若是,执行步骤13,若否,可以进一步地执行步骤16。Step 12: The database device judges whether other application parties are performing update operations on the data item, that is, determines whether concurrent operations have occurred, wherein the operation requests of this application party and other application parties can be the same or different, and if so, execute
步骤13:数据库装置判断是否需要对所述更新请求进行排队,若否,执行步骤14,进一步地,若是,执行步骤15。Step 13: The database device judges whether the update request needs to be queued, if not, execute
步骤14:数据库装置向所述一应用方返回该更新请求的响应。例如,为了使应用方明确地获知发生了并发操作,可以向该应用方返回表明发生了并发操作的响应消息。Step 14: The database device returns a response to the update request to the application side. For example, in order to let the application side clearly know that the concurrent operation has occurred, a response message indicating that the concurrent operation has occurred may be returned to the application side.
步骤15:数据库装置对该更新请求进行排队处理。如将其它应用方对该数据项的更新请求处理完毕后,处理该更新请求。Step 15: The database device queues up the update request. For example, after processing the update requests of other applications for the data item, the update request is processed.
步骤16:数据库装置处理该更新请求。如修改该更新请求中指定的数据项。本实施例在存在并发事件情况下,通过判断是否需要对一更新请求进行排队,若不排队,数据库装置可以及时向发出该更新请求的应用方返回响应,而不需要对该更新请求进行操作,因此可以提高数据库装置的处理效率;进一步的,可以在返回的相应消息中携带表明发生了并发操作的指示,使得应用方可以及时获知发生了并发操作,而不再无限的等待,并采取相关的措施,因此可以提高应用方的处理效率。Step 16: The database device processes the update request. Such as modifying the data item specified in the update request. In this embodiment, in the case of concurrent events, by judging whether an update request needs to be queued, if not queued, the database device can return a response to the application side that issued the update request in a timely manner without operating on the update request. Therefore, the processing efficiency of the database device can be improved; further, an indication indicating that concurrent operations have occurred can be carried in the corresponding returned message, so that the application side can be informed in time that concurrent operations have occurred, instead of waiting indefinitely, and take relevant actions measures, so the processing efficiency of the application side can be improved.
实施例一中,数据库装置可以根据更新请求中携带的信息或者预先配置的信息判断是否需要对更新请求进行排队,另外,该更新请求中还可以进一步地携带,或者预先配置的信息还可以进一步地设置缺省或指定的时间信息,缺省或指定时间用来表明若并发的操作在该缺省或指定时间后没有结束,则不再排队,返回更新请求的响应消息。则步骤15数据库装置对该更新请求进行排队时,根据该缺省或指定时间进一步执行判断是否需要对所述更新请求进行排队的步骤,若该缺省或指定时间没有结束,则继续排队,若该缺省或指定时间结束且所述并发操作仍没有结束,则不再排队,返回更新请求的响应消息。In Embodiment 1, the database device can judge whether to queue up the update request according to the information carried in the update request or the pre-configured information. In addition, the update request can further carry, or the pre-configured information can further Set the default or specified time information. The default or specified time is used to indicate that if the concurrent operation does not end after the default or specified time, it will no longer queue up and return the response message of the update request. Then step 15 when the database device queues up the update request, further execute the step of judging whether the update request needs to be queued according to the default or specified time, if the default or specified time does not end, then continue queuing, if When the default or specified time is over and the concurrent operation is not over yet, no queuing will be performed, and a response message to the update request will be returned.
相应的具体实施例可参见下述的各实施例。Corresponding specific embodiments can refer to the following embodiments.
图2为本发明对共享数据进行处理的方法实施例二的流程示意图,该实施例以AS通过HSS FE访问融合数据库、且HSS FE采用轻型目录访问协议(Lightweight Directory Access Protocol,简称LDAP)访问融合数据库为例。该实施例包括:Fig. 2 is a schematic flow chart of Embodiment 2 of the method for processing shared data in the present invention. In this embodiment, AS accesses the fusion database through HSS FE, and HSS FE uses Lightweight Directory Access Protocol (Lightweight Directory Access Protocol, LDAP for short) to access the fusion database. database as an example. This example includes:
步骤21:第一HSS FE在接收到第一AS发送的Sh接口更新请求(Sh-Update)后,向数据库装置发送更新请求(例如LDAP Modify)。更新请求中携带要修改的数据项,该数据项的版本信息(例如业务标识及顺序号),同时携带表明本次更新请求若发生并发操作是否排队的信息,该信息可以表明若存在其他应用方对该数据项进行修改时,则需要数据库直接返回并发响应,而不要在数据库中排队,也可以表明若存在并发操作,数据库需要将本更新请求在数据库中进行排队。该信息可以通过扩展的LDAP参数来实现,在更新请求中携带扩展的参数的具体实现方式如下:Step 21: After receiving the Sh interface update request (Sh-Update) sent by the first AS, the first HSS FE sends an update request (such as LDAP Modify) to the database device. The update request carries the data item to be modified, the version information of the data item (such as the business identifier and sequence number), and also carries the information indicating whether the concurrent operation of this update request is queued. This information can indicate that if there are other application parties When modifying the data item, the database needs to directly return a concurrent response instead of queuing in the database. It can also indicate that if there are concurrent operations, the database needs to queue the update request in the database. This information can be realized through extended LDAP parameters. The specific implementation of carrying extended parameters in the update request is as follows:
方式一:通过扩展LDAP协议中的控制参数(Control)来携带该参数。Control是用于在不修改LDAP协议本身的前提下扩展LDAP的功能。例如可以增加一个新的LDAP Control(如UrgentControl),通过此UrgentControl说明此操作不允许并发,若此条目正在被操作,则返回响应信息,不进行排队处理。该Urgent Control格式如下。Mode 1: Carry the parameter by extending the control parameter (Control) in the LDAP protocol. Control is used to extend the function of LDAP without modifying the LDAP protocol itself. For example, a new LDAP Control (such as UrgentControl) can be added. This UrgentControl indicates that this operation does not allow concurrency. If the entry is being operated, a response message will be returned without queuing. The Urgent Control format is as follows.
Control::=SEQUENCE{Control::=SEQUENCE{
controlType LDAPOID,--例如,将LDAPOID的值设为1.3.6.1.1.13controlType LDAPOID, -- for example, set the value of LDAPOID to 1.3.6.1.1.13
criticality BOOLEAN DEFAULT FALSE,criticality BOOLEAN DEFAULT FALSE,
controlValue OCTET STRING OPTIONAL--可以用于指定时间controlValue OCTET STRING OPTIONAL--can be used to specify time
}}
上述对UrgentControl的定义只是作为示例,也可以采用其他的定义方式。The above definition of UrgentControl is just an example, and other definition methods may also be adopted.
方式二:通过扩展LDAP协议的消息体来携带该参数。例如,增加新的参数(如Urgent),该参数具体可以在LDAP涉及的所有更新操作中增加,LDAP涉及的更新操作包括增加(Add)、删除(Delete)、修改(Modify)操作。以修改(Modify)操作为例,包括该扩展参数的Modify格式如下:Method 2: The parameter is carried by extending the message body of the LDAP protocol. For example, a new parameter (such as Urgent) is added. Specifically, this parameter can be added in all update operations involved in LDAP. The update operations involved in LDAP include Add, Delete, and Modify operations. Taking the Modify operation as an example, the Modify format including this extended parameter is as follows:
ModifyRequest::=[APPLICATION 6]SEQUENCE{ModifyRequest::=[APPLICATION 6]SEQUENCE{
object LDAPDN,object LDAPDN,
changes SEQUENCE OF change SEQUENCE{changes SEQUENCE OF change SEQUENCE{
operation ENUMERATED{operation ENUMERATED{
add (0),add (0),
delete(1),delete(1),
replace(2),replace(2),
...},...},
modification PartialAttribute,modification PartialAttribute,
urgentIndication BOOLEAN,urgentIndication BOOLEAN,
urgentTime INTEGER}}urgentTime INTEGER}}
其中,上述的urgentindication以及urgenttime参数是新增的,用来说明该修改操作是否需要进行排队以及指定时间。Among them, the above-mentioned urgentindication and urgenttime parameters are newly added, and are used to indicate whether the modification operation needs to be queued and specify a time.
该更新请求中还可以进一步地携带缺省或指定时间,缺省/指定时间用来表明在该时间段内并发的操作如果没有结束,则不再排队,返回更新请求的响应消息。The update request may further carry a default or specified time, and the default/specified time is used to indicate that if the concurrent operations within the time period are not completed, they will not be queued and a response message of the update request will be returned.
步骤22:若此时没有对该数据项的更新操作,即数据库装置判断出该数据项没有并发操作,则开始对该数据项进行正常的更新操作。Step 22: If there is no update operation on the data item at this time, that is, the database device determines that there is no concurrent operation on the data item, then start a normal update operation on the data item.
步骤23:第二HSS FE在接收到第二AS发送的Sh接口更新请求(Sh-Update)后,向数据库装置发送更新请求。如第一HSS FE发送的更新请求一样,该更新请求中携带包含要修改的数据项,该数据项的版本信息,以及本次请求若发生并发操作是否需要排队的信息,本实施例中该信息表明如果有对该数据项的并发操作,则融合数据库直接返回并发处理响应,而不要对该修改命令进行排队。Step 23: After receiving the Sh interface update request (Sh-Update) sent by the second AS, the second HSS FE sends an update request to the database device. Like the update request sent by the first HSS FE, the update request carries the data item to be modified, the version information of the data item, and information about whether a queue needs to be queued if concurrent operations occur in this request. In this embodiment, the information Indicates that if there are concurrent operations on the data item, the fusion database will directly return the concurrent processing response instead of queuing the modification command.
步骤24:数据库装置接收到第二HSS FE发送的更新请求后,若此时数据库装置正在对第一HSS FE发送的更新请求进行处理,即数据库判断出数据项正在被处理。Step 24: After the database device receives the update request sent by the second HSS FE, if the database device is processing the update request sent by the first HSS FE at this time, the database determines that the data item is being processed.
步骤25:数据库装置向第二HSS FE返回更新响应,该响应表明发生了并发操作。需要说明的是,融合数据库也可以直接返回响应消息而不指明发生并发操作。Step 25: The database device returns an update response to the second HSS FE, which indicates that concurrent operations have occurred. It should be noted that the fusion database can also directly return a response message without specifying that concurrent operations occur.
步骤21中实现了对请求的扩展,步骤25需要对响应进行扩展,对响应消息的扩展可以通过下述的两种方式实现:In
方式一:通过扩展响应消息中的结果代码(ResultCode)值,即增加新的ResultCode值(如ResultCode=Concurrent)。Way 1: by extending the value of the result code (ResultCode) in the response message, that is, adding a new ResultCode value (eg ResultCode=Concurrent).
方式二:通过在响应消息中携带新的控制参数Control(如ConcurrenceControl),新增加的Control的具体格式如下:Method 2: By carrying a new control parameter Control (such as ConcurrenceControl) in the response message, the specific format of the newly added Control is as follows:
Control::=SEQUENCE{Control::=SEQUENCE{
controlType LDAPOID,--例如,将LDAPOID的值设为 ,
1.3.6.1.1.131.3.6.1.1.13
criticality BOOLEAN DEFAULT FALSE,Criticality BOOLEAN DEFAULT FALSE,
controlValue OCTET STRING OPTIONAL--可以用于表示发生 controlValue OCTET STRING OPTIONAL--can be used to indicate occurrence
并发concurrency
}}
在方式二中,响应消息的ResultCode可以是某种形式的错误指示,如operationsError。In the second manner, the ResultCode of the response message may be some form of error indication, such as operationsError.
本实施例可以使AS明确获知发生了并发操作,若某个比较耗时的更新请求发生并发时,可以使该AS不必等待,因此可以节省该AS等待的时间,有利于提高应用方的处理效率,数据库及时向应用返回发生并发的响应时,可以提高数据库的处理效率及节省数据库内部资源。进一步的,融合数据库可以在返回的相应消息中携带表明发生了并发操作的指示,使得应用方可以及时获知发生了并发操作,而不再无限的等待,并采取相关的措施,因此可以提高应用方的处理效率。This embodiment can make the AS clearly know that concurrent operations have occurred. If a time-consuming update request occurs concurrently, the AS does not have to wait, so the waiting time of the AS can be saved, which is conducive to improving the processing efficiency of the application side. When the database returns concurrent responses to the application in time, the processing efficiency of the database can be improved and the internal resources of the database can be saved. Furthermore, the fusion database can carry an indication indicating that a concurrent operation has occurred in the corresponding message returned, so that the application side can know that the concurrent operation has occurred in a timely manner, instead of waiting indefinitely, and take relevant measures, thus improving the application side. processing efficiency.
步骤26:数据库装置对第一HSS FE的更新请求处理完毕,向第一HSS FE返回成功响应(如ResultCode=Success)。Step 26: The database device finishes processing the update request of the first HSS FE, and returns a success response (such as ResultCode=Success) to the first HSS FE.
本实施例以更新请求中携带是否需要排队的信息为例,示出了并发处理的流程。同时,本实施例以LDAP协议为例,示出了为了携带上述信息进行的扩展的具体实现方式。通过本实施例的流程,可以提高系统效率,节省系统资源。In this embodiment, the flow of concurrent processing is shown by taking the update request carrying information about whether queuing is required as an example. At the same time, this embodiment takes the LDAP protocol as an example to show a specific implementation manner of the extension for carrying the above information. Through the process of this embodiment, system efficiency can be improved and system resources can be saved.
图3为本发明对共享数据进行处理的方法实施例三的流程示意图,该实施例以AS直接访问融合数据库、且采用可扩展标识语言配置访问协议(eXtensible Markup Language Configuration Access Protocol,简称XCAP)访问融合数据库为例。该实施例包括:Fig. 3 is a schematic flow chart of Embodiment 3 of the method for processing shared data in the present invention. In this embodiment, AS directly accesses the fusion database and uses Extensible Markup Language Configuration Access Protocol (eXtensible Markup Language Configuration Access Protocol, XCAP for short) to access Take Fusion Database as an example. This example includes:
步骤31:第一AS向数据库装置发送更新请求(XCAP Replace)。更新请求中如现有技术一样要携带要修改的数据项,该数据项的版本信息(例如业务标识及顺序号),还要携带本次请求若发生并发操作是否排队的信息,本实施例中该信息表明若存在其他应用方对该数据项进行修改时,则需要数据库直接返回并发响应,而不要在数据库中排队。Step 31: The first AS sends an update request (XCAP Replace) to the database device. The update request will carry the data item to be modified as in the prior art, the version information of the data item (such as service identification and sequence number), and also carry the information of whether the concurrent operation is queued if this request occurs. In this embodiment This information indicates that if other application parties modify the data item, the database needs to directly return concurrent responses instead of queuing in the database.
其中,该信息通过扩展的协议实现,具体可以在XCAP涉及的所有更新操作中以增加相关标签或者标识参数的方式实现,XCAP涉及的更新操作包括创建/替换(PUT)、删除(DELETE)操作。例如,可以在PUT或者DELETE中增加一个标签或者标识参数(如Urgent),该标签或者标识参数的值(如UrgentIndication)用来说明是否进行排队,并且还可以进一步的表明缺省或指定时间,缺省或指定时间用来表明在该时间段内并发的操作如果没有结束,则不再排队,返回更新请求的响应消息。Wherein, the information is implemented through an extended protocol, specifically, it can be implemented by adding relevant tags or identification parameters in all update operations involved in XCAP, and the update operations involved in XCAP include create/replace (PUT) and delete (DELETE) operations. For example, a label or identification parameter (such as Urgent) can be added in PUT or DELETE. The value of the label or identification parameter (such as UrgentIndication) is used to indicate whether to queue, and can further indicate the default or specified time. The province or specified time is used to indicate that if the concurrent operations within the time period have not ended, they will no longer be queued, and a response message to the update request will be returned.
步骤32:若此时没有对该数据项的更新操作,即数据库装置判断出该数据项没有并发操作,则开始对该数据项进行正常的更新操作。Step 32: If there is no update operation on the data item at this time, that is, the database device determines that there is no concurrent operation on the data item, then start a normal update operation on the data item.
步骤33:第二AS向数据库装置发送更新请求。如第一AS发送的更新请求一样,该更新请求中携带包含要修改的数据项,该数据项的版本信息,以及本次请求若发生并发操作是否排队的信息,该信息表明如果有对该数据项的并发操作,则融合数据库直接返回并发处理响应,而不要对该修改命令进行排队。需要说明的是,融合数据库也可以直接返回响应消息而不指明发生并发操作。Step 33: The second AS sends an update request to the database device. Like the update request sent by the first AS, the update request carries the data item to be modified, the version information of the data item, and information about whether concurrent operations are queued if this request occurs. Concurrent operation of the item, the fusion database directly returns the concurrent processing response instead of queuing the modification command. It should be noted that the fusion database can also directly return a response message without specifying that concurrent operations occur.
步骤34:数据库装置接收到第二AS发送的更新请求后,若此时数据库装置正在对第一AS发送的更新请求进行处理,即数据库判断出数据项正在被处理。Step 34: After the database device receives the update request sent by the second AS, if the database device is currently processing the update request sent by the first AS, the database determines that the data item is being processed.
步骤35:数据库装置向第二AS返回响应,该响应表明发生了并发操作。例如,使用XCAP的HTTP 409响应,在响应的消息体中包含错误指示,表明发生了并发操作。Step 35: The database device returns a response to the second AS, which indicates that concurrent operations have occurred. For example, an HTTP 409 response using XCAP includes an error indication in the response's message body that a concurrent operation has occurred.
与现有技术中这种情况下出现的返回同步错误的信息相比,本实施例可以使AS明确获知发生了并发操作,并进一步可以进行基于并发的后续操作。Compared with the synchronous error information returned in this case in the prior art, this embodiment can enable the AS to clearly know that a concurrent operation has occurred, and can further perform subsequent operations based on concurrency.
步骤36:数据库装置对第一AS的更新请求处理完毕,向第一AS返回成功响应。Step 36: the database device completes processing the update request of the first AS, and returns a success response to the first AS.
本实施例以更新请求中携带是否需要排队的信息为例,示出了并发处理的流程。同时,本实施例以XCAP协议为例,示出了为了携带上述信息进行的扩展的具体实现方式。通过本实施例的流程,可以提高系统效率,节省系统资源。In this embodiment, the flow of concurrent processing is shown by taking the update request carrying information about whether queuing is required as an example. At the same time, this embodiment takes the XCAP protocol as an example to show a specific implementation manner of the extension for carrying the above information. Through the process of this embodiment, system efficiency can be improved and system resources can be saved.
图4为本发明对共享数据进行处理的方法实施例四的流程示意图,该实施例以数据库装置根据预先配置的信息判断是否对更新请求进行排队处理为例,且本实施例中的应用方可以为上述实施例中的HSS FE或者AS,或者为其他的网元。该实施例包括:Fig. 4 is a schematic flowchart of Embodiment 4 of the method for processing shared data according to the present invention. In this embodiment, the database device judges whether to queue up update requests based on pre-configured information as an example, and the application side in this embodiment can It is the HSS FE or AS in the above embodiment, or other network elements. This example includes:
步骤41:第一应用方向数据库装置发送更新请求。Step 41: The first application sends an update request to the database device.
步骤42:数据库装置对该更新请求进行处理。Step 42: The database device processes the update request.
步骤43:第二应用方向数据库装置发送更新请求。该更新请求要求更新的数据项与第一应用方要求更新的数据项相同。Step 43: The second application sends an update request to the database device. The data item required to be updated by the update request is the same as the data item required to be updated by the first application side.
步骤44:数据库装置根据预先配置的信息决定对该更新请求不进行排队处理。Step 44: The database device decides not to perform queuing processing on the update request according to the pre-configured information.
其中,预先配置的信息的具体实现方式如下:Among them, the specific implementation of the pre-configured information is as follows:
方式一:以LDAP为例,可以在LDAP的数据模型(Schcma)中描述当特定数据类型或数据项产生并发操作时,是否对相应的更新请求进行排队的信息。Way 1: Taking LDAP as an example, information about whether to queue corresponding update requests can be described in the LDAP data model (Schcma) when concurrent operations are generated for a specific data type or data item.
LDAP中的信息模式,类似于面向对象的概念,在LDAP中每个条目属于某个或者多个对象类(ObjectClass),每个ObjectClass由多个属性类型组成,每个属性类型有所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必须定义所属的对象类,必须提供对象类中的必选属性类型的属性值(Attribute),在LDAP中一个属性类型可以对应多个值。在LDAP中把对象类、属性类型、语法和匹配规则统称为Schema。因此,在配置时,可以对Schema中的属性Attribute、对象类ObjectClass、目录信息树内容规则DITContentRule、目录信息树结构规则DITStructureRule、名称形式NameForm进行扩展,以说明针对特定的数据类型、数据项发生并发事件时,是否对相应的更新请求进行排队处理。以对Attribute的扩展为例,具体的扩展方式如下(格式参见RFC4512):The information model in LDAP is similar to the object-oriented concept. In LDAP, each entry belongs to one or more object classes (ObjectClass), each ObjectClass is composed of multiple attribute types, and each attribute type has a corresponding syntax and matching rules; the definition of object classes and attribute types can use the concept of inheritance. When each entry is created, the object class to which it belongs must be defined, and the attribute value (Attribute) of the mandatory attribute type in the object class must be provided. In LDAP, one attribute type can correspond to multiple values. In LDAP, the object class, attribute type, syntax and matching rules are collectively referred to as Schema. Therefore, during configuration, the attributes Attribute, object class ObjectClass, directory information tree content rule DITContentRule, directory information tree structure rule DITStructureRule, and name form NameForm in the Schema can be extended to indicate that concurrency occurs for specific data types and data items. When an event occurs, whether to queue the corresponding update request. Taking the extension of Attribute as an example, the specific extension method is as follows (see RFC4512 for the format):
扩展(Extensions)为:X-Urgent“0”Extensions are: X-Urgent "0"
其中,“Urgent”为扩展名称,表明发生并发时,针对某一数据项或数据类型的更新请求是否进行排队;“0”为时间阈值(缺省或指定时间),表示在该数值表示的时间段内并发的操作如果没有结束,则返回发生并发的消息响应,该值可以根据配置需求设置为其他的数字。Among them, "Urgent" is the extension name, which indicates whether the update request for a certain data item or data type is queued when concurrency occurs; "0" is the time threshold (default or specified time), indicating that at the time indicated by the value If the concurrent operation in the segment is not completed, a concurrent message response will be returned. This value can be set to other numbers according to the configuration requirements.
方式二:可以通过配置文件、图表等方式预先存储配置信息。例如,可以在配置文件或图表中记录数据名称或数据类型或应用类型或操作类型等参数及对这些参数是否排队。Method 2: The configuration information can be stored in advance through configuration files, charts, etc. For example, parameters such as data name or data type or application type or operation type and whether they are queued can be recorded in configuration files or diagrams.
步骤45:数据库装置向第二应用方返回响应,表明发生了并发。具体可以为:通过扩展现有响应消息中的结果代码(ResultCode)值,即增加新的ResultCode值(如ResultCode=Concurrent)Step 45: The database device returns a response to the second application side, indicating that concurrency has occurred. Specifically, it can be: by extending the result code (ResultCode) value in the existing response message, that is, adding a new ResultCode value (such as ResultCode=Concurrent)
步骤46:数据库装置对第一应用方的更新请求处理完毕,向第一应用方返回成功响应(如ResultCode=Success)。Step 46: After processing the update request of the first application party, the database device returns a success response (such as ResultCode=Success) to the first application party.
本实施例是根据内部存储的预先配置的信息进行判断,并给出了相应的处理流程。通过本实施例的流程,可以使AS明确获知发生了并发操作,若某个比较耗时的更新请求发生并发时,可以使该AS不必等待,因此可以节省该AS等待的时间,有利于提高应用方的处理效率,数据库及时向应用返回发生并发的响应时,可以提高数据库的处理效率及节省数据库内部资源。进一步的,融合数据库可以在返回的相应消息中携带表明发生了并发操作的指示,使得应用方可以及时获知发生了并发操作,而不再无限的等待,并采取相关的措施,因此可以提高应用方的处理效率。In this embodiment, the judgment is made according to the pre-configured information stored internally, and a corresponding processing flow is given. Through the process of this embodiment, the AS can clearly know that concurrent operations have occurred. If a relatively time-consuming update request occurs concurrently, the AS does not have to wait, so the waiting time of the AS can be saved, which is conducive to improving the application performance. When the database returns concurrent responses to the application in a timely manner, the processing efficiency of the database can be improved and the internal resources of the database can be saved. Furthermore, the fusion database can carry an indication indicating that a concurrent operation has occurred in the corresponding message returned, so that the application side can know that the concurrent operation has occurred in a timely manner, instead of waiting indefinitely, and take relevant measures, thus improving the application side. processing efficiency.
本实施例中还可以如实施例二、三一样在更新请求中携带信息,即更新请求中携带表明是否对该更新请求进行排队的信息,且数据库装置中还预先配置有预设信息,此时可以设置所述表明该更新请求若发生并发操作是否需要排队的信息与所述预先配置的信息的优先级级别,根据优先级级别确定是根据更新请求中的信息还是预设信息判断是否对更新请求进行排队,例如,设置更新请求中携带的信息的优先级高于预设信息,则数据库将根据更新请求中携带的信息进行是否排队的判断。其中优先级级别的设置可以通过在数据库的配置文件中设置一个关键字(Priority)及对应的内容,根据该关键字中内容(如请求的优先级级别高)确定出优先级级别。In this embodiment, information can also be carried in the update request as in the second and third embodiments, that is, the update request carries information indicating whether to queue the update request, and the database device is also pre-configured with preset information. At this time, the information indicating whether the update request needs to be queued if a concurrent operation occurs and the priority level of the pre-configured information can be set, and it is determined according to the priority level whether to judge whether the update request is based on the information in the update request or the preset information. The request is queued. For example, if the priority of the information carried in the update request is set higher than that of the preset information, the database will judge whether to queue according to the information carried in the update request. The setting of the priority level can be by setting a keyword (Priority) and corresponding content in the configuration file of the database, and determine the priority level according to the content in the keyword (for example, the priority level of the request is high).
本实施例的预设信息可以是表明针对数据项的更新请求是否排队的信息,此时可以根据该信息直接进行是否排队的判断,或者本实施例中的预设信息还可以包含时间阈值,若在该时间阈值内并发操作没有结束,则不再对更新请求排队,直接返回响应,例如上述步骤44中的方式一。The preset information in this embodiment may be information indicating whether an update request for a data item is queued. At this time, the judgment of whether to queue up can be directly performed according to the information, or the preset information in this embodiment may also include a time threshold. If If the concurrent operation does not end within the time threshold, the update request will not be queued, and a response will be returned directly, such as the first method in
特别的,实施例二、三中,应用方可以根据自身的需要来决定对于一更新操作如果有并发产生时,是否需要进行排队。这样,如果某个比较耗时的更新操作发生并发时,应用方可以及时获知并发的信息,进而可以不再等待,实现节省时间、提高应用方的处理效率;实施例四中,数据库装置可以根据自身的需要来决定针对某一数据项的并发发生时,是否对后到的更新请求进行排队处理。这样,如果针对某个数据项的更新操作比较复杂耗时,可以不对其进行排队而是返回并发的响应,实现提高数据库装置的处理效率及节省数据库装置的内部资源。In particular, in Embodiments 2 and 3, the application side can decide whether to queue for an update operation if there is concurrent generation according to its own needs. In this way, if a relatively time-consuming update operation occurs concurrently, the application side can know the concurrent information in time, and then can no longer wait, so as to save time and improve the processing efficiency of the application side; in the fourth embodiment, the database device can be based on It needs to decide whether to queue up the later update request when the concurrency of a certain data item occurs. In this way, if the update operation for a certain data item is complicated and time-consuming, it can return concurrent responses instead of queuing, so as to improve the processing efficiency of the database device and save internal resources of the database device.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps for realizing the above-mentioned method embodiments can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the It includes the steps of the above method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other various media that can store program codes.
图5为本发明数据库装置实施例的结构示意图,包括接收模块51、第一判断模块52、第二判断模块53和响应模块54。接收模块51用于接收应用方发送的对数据项的更新请求,并将该更新请求发送给第一判断模块52;第一判断模块52用于从接收模块51获取该更新请求后,判断是否存在其它应用方正在对该更新请求中针对的数据项进行更新操作,若是,则将该更新请求发送给第二判断模块53;第二判断模块52用于在第一判断模块52判断出存在其它应用方对所述数据项进行更新操作时,判断是否需要对该更新请求进行排队,若是,触发响应模块54的运行;响应模块54用于在第二判断模块53判断出不需要对该更新请求进行排队,向所述应用方返回该更新请求的响应消息,如表明发生并发操作的响应。FIG. 5 is a schematic structural diagram of an embodiment of the database device of the present invention, including a receiving
具体的,接收模块51用于接收携带表明若发生并发操作该更新请求是否需要排队的信息的更新请求;第二判断模块53用于根据所述表明若发生并发操作该更新请求是否需要排队的信息判断是否需要对所述更新请求进行排队。Specifically, the receiving
或者,该数据库装置还可以进一步的包括预设模块,该预设模块用于存储预先配置的预设信息;此时,接收模块51可以用于接收更新请求,第二判断模块53用于根据所述预设模块中存储的预设信息判断是否需要对所述更新请求进行排队。Alternatively, the database device may further include a preset module, which is used to store pre-configured preset information; at this time, the receiving
其中预设模块中存储的预设信息可以是用于表明针对所述数据项的更新请求是否需要排队的信息;第二判断模块53用于根据该预设信息判断是否需要对所述更新请求进行排队。或者,所述预设信息进一步包括时间阈值,所述第二判断模块53具体用于在其它应用方达到所述时间阈值后依旧对所述数据项进行更新操作时,判断出不再对所述更新请求进行排队。The preset information stored in the preset module may be information indicating whether the update request for the data item needs to be queued; the second judging
若该装置接收的所述更新请求中携带表明该更新请求是否需要排队的信息,且该装置中存储有预先配置的预设信息,则该装置还包括优先级设置模块,该优先级设置模块用于设置更新请求中携带的信息与预设信息的优先级;所述第二判断模块具体用于根据所述优先级确定判断依据,根据所述判断依据判断是否需要对所述更新请求进行排队。If the update request received by the device carries information indicating whether the update request needs to be queued, and pre-configured preset information is stored in the device, the device also includes a priority setting module, and the priority setting module uses The priority of setting the information carried in the update request and the preset information; the second judging module is specifically used to determine a judgment basis according to the priority, and judge whether the update request needs to be queued according to the judgment basis.
本实施例还可以进一步包括排队模块,排队模块用于在第二判断模块判断出需要对该更新请求进行排队时,对该更新请求进行排队处理。This embodiment may further include a queuing module, configured to perform queuing processing on the update request when the second judging module determines that the update request needs to be queued.
本实施例在存在并发事件情况下,通过判断是否需要对一更新请求进行排队,若不排队,该数据库装置可以及时向发出该更新请求的应用方返回表明发生了并发操作的响应,而不需要对该更新请求进行操作,因此可以提高数据库装置的处理效率;同时,应用方可以及时获知发生了并发操作,而不再无限的等待,因此可以提高应用方的处理效率。In this embodiment, in the case of concurrent events, by judging whether an update request needs to be queued, if not queued, the database device can promptly return a response indicating that a concurrent operation has occurred to the application side that issued the update request, without the need to Operation on the update request can improve the processing efficiency of the database device; at the same time, the application side can know in time that concurrent operations have occurred without waiting infinitely, so the processing efficiency of the application side can be improved.
图6为本发明对共享数据进行处理的系统实施例一的结构示意图,包括第一应用方装置61和第一数据库装置62。第一应用方装置61用于发送对数据项的更新请求,所述更新请求中携带表明若发生并发操作该更新请求是否需要排队的信息;第一数据库装置62用于接收第一应用方装置61发送的该更新请求,并在判断出存在其它应用方对所述数据项进行更新操作时,根据所述更新请求中携带的表明若发生并发操作该更新请求是否排队的信息判断是否需要对所述更新请求进行排队,并在判断出不需要对所述更新请求进行排队时,向所述第一应用方装置61返回该更新请求的响应消息,如表明发生并发操作的响应。FIG. 6 is a schematic structural diagram of Embodiment 1 of the system for processing shared data according to the present invention, including a first application device 61 and a first database device 62 . The first application-side device 61 is used to send an update request for a data item, and the update request carries information indicating whether the update request needs to be queued if concurrent operations occur; the first database device 62 is used to receive the update request from the first application-side device 61 Send the update request, and when it is judged that there are other application parties performing update operations on the data item, according to the information carried in the update request indicating whether the update request is queued if concurrent operations occur, it is judged whether it is necessary to update the data item The update request is queued, and when it is determined that the update request does not need to be queued, a response message of the update request is returned to the first application device 61, such as a response indicating that concurrent operations have occurred.
本实施例在存在并发事件情况下,数据库装置根据应用方装置发送的更新请求中携带的信息进行排队与否的判断,若不排队,数据库装置可以及时向发出该更新请求的应用方装置返回表明发生了并发操作的响应,而不需要对该更新请求进行操作,因此可以提高数据库装置的处理效率;同时,应用方装置可以及时获知发生了并发操作,而不再无限的等待,因此可以提高应用方装置的处理效率。In this embodiment, in the case of concurrent events, the database device judges whether to queue or not according to the information carried in the update request sent by the application device. If there is no queue, the database device can promptly return an indication A response to a concurrent operation has occurred, and there is no need to operate on the update request, so the processing efficiency of the database device can be improved; at the same time, the application device can be informed of the occurrence of a concurrent operation in time without waiting indefinitely, so the application can be improved. The processing efficiency of the square device.
图7为本发明对共享数据进行处理的系统实施例二的结构示意图,包括第二应用方装置71和第二数据库装置72。第二应用方装置71用于发送对数据项的更新请求;第二数据库装置72用于接收第二应用方装置71发送的该更新请求,并在判断出存在另一应用方对所述数据项进行更新操作时,根据预先配置的预设信息判断是否需要对所述更新请求进行排队,并在判断出不需要对所述更新请求进行排队时,向第二应用方装置71返回该更新请求的响应消息,如表明发生并发操作的响应,该预设信息表示当特定数据类型或数据项发生并发操作是否需要排队。FIG. 7 is a schematic structural diagram of Embodiment 2 of the system for processing shared data according to the present invention, including a second application device 71 and a second database device 72 . The second application-side device 71 is used to send an update request for the data item; the second database device 72 is used to receive the update request sent by the second application-side device 71, and determine that there is another application-side update request for the data item When performing an update operation, it is judged according to pre-configured preset information whether the update request needs to be queued, and when it is judged that the update request does not need to be queued, the update request is returned to the second application device 71. Response message, such as a response indicating that a concurrent operation occurs, the preset information indicates whether a concurrent operation needs to be queued when a specific data type or data item occurs.
本实施例在存在并发事件情况下,数据库装置根据预先配置的信息进行排队与否的判断,若不排队,数据库装置可以及时向发出该更新请求的应用方装置返回表明发生了并发操作的响应,而不需要对该更新请求进行操作,因此可以提高数据库装置的处理效率;同时,应用方装置可以及时获知发生了并发操作,而不再无限的等待,因此可以提高应用方装置的处理效率。In this embodiment, in the case of concurrent events, the database device judges whether to queue or not according to the pre-configured information. If there is no queue, the database device can promptly return a response indicating that a concurrent operation has occurred to the application device that issued the update request. There is no need to operate on the update request, so the processing efficiency of the database device can be improved; at the same time, the application device can know in time that concurrent operations have occurred without waiting indefinitely, so the processing efficiency of the application device can be improved.
图8为本发明对共享数据进行处理的系统实施例三的结构示意图,包括第三应用方装置81和第三数据库装置82。该系统结合了实施例一和实施例二的信息,即第三应用方装置81用于发送对数据项的更新请求,所述更新请求中携带表明若发生并发操作该更新请求是否需要排队的信息;第三数据库装置82预先配置有预设信息,该预设信息表示当特定数据类型或数据项发生并发操作是否需要排队。即更新请求中存在判断依据,同时预先配置有判断依据,因此需要确定判断依据;为此,第三数据库装置82还需要进一步配置有更新请求中信息和所述预设信息的优先级级别。第三数据库装置82用于在判断出存在其它应用方对所述数据项进行更新操作时,根据该优先级级别确定是否排队,具体可以为首先根据所述优先级信息确定判断依据,再根据所述判断依据判断是否需要对所述更新请求进行排队(例如,更新请求中信息的优先级高于预设信息的优先级,则根据更新请求中的信息判断是否对更新请求进行排队,反之亦然),并在判断出不需要对所述更新请求进行排队时,向所述第二应用方装置返回该更新请求的响应消息,如表明发生并发操作的响应。FIG. 8 is a schematic structural diagram of Embodiment 3 of the system for processing shared data according to the present invention, including a
本实施例在存在并发事件情况下,数据库装置首先根据优先级确定判断依据,再根据确定的判断依据进行排队与否的判断,若不排队,数据库装置可以及时向发出该更新请求的应用方装置返回表明发生了并发操作的响应,而不需要对该更新请求进行操作,因此可以提高数据库装置的处理效率;同时,应用方装置可以及时获知发生了并发操作,而不再无限的等待,因此可以提高应用方装置的处理效率。In this embodiment, in the case of concurrent events, the database device first determines the judgment basis according to the priority, and then judges whether to queue or not according to the determined judgment basis. If there is no queue, the database device can send the update request to the application device in time Returning a response indicating that a concurrent operation has occurred does not require an operation on the update request, so the processing efficiency of the database device can be improved; at the same time, the application device can be informed of the concurrent operation in time without waiting indefinitely, so it can Improve the processing efficiency of the application side device.
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit them. Although the present invention has been described in detail with reference to the preferred embodiments, those of ordinary skill in the art should understand that: it still Modifications or equivalent replacements can be made to the technical solutions of the present invention, and these modifications or equivalent replacements cannot make the modified technical solutions deviate from the spirit and scope of the technical solutions of the present invention.
Claims (19)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200810222934A CN101685460A (en) | 2008-09-23 | 2008-09-23 | Database device, method and system for processing shared data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200810222934A CN101685460A (en) | 2008-09-23 | 2008-09-23 | Database device, method and system for processing shared data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101685460A true CN101685460A (en) | 2010-03-31 |
Family
ID=42048624
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200810222934A Pending CN101685460A (en) | 2008-09-23 | 2008-09-23 | Database device, method and system for processing shared data |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101685460A (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102279873A (en) * | 2010-06-11 | 2011-12-14 | 微软公司 | Unified concurrent changes to data, schema, and application |
| CN102752273A (en) * | 2011-04-22 | 2012-10-24 | 中兴通讯股份有限公司 | Method and system for sharing Sh interface service identifiers by multiple application servers, and home subscriber server |
| CN103218378A (en) * | 2012-01-19 | 2013-07-24 | 阿尔卡特朗讯 | Method for carrying out database operation based on complicated logic on basis of LDAP (lightweight directory access protocol) |
| CN106843984A (en) * | 2017-02-13 | 2017-06-13 | 东软集团股份有限公司 | The update method and device of application database |
| CN108140053A (en) * | 2015-10-23 | 2018-06-08 | 甲骨文国际公司 | Pluggable database lock configuration file |
| CN109710673A (en) * | 2018-12-25 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | Work processing methods, devices, equipment and media |
| CN112788658A (en) * | 2019-11-11 | 2021-05-11 | 鹤壁天海电子信息系统有限公司 | Data sharing method of communication equipment, communication equipment and storage medium |
-
2008
- 2008-09-23 CN CN200810222934A patent/CN101685460A/en active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102279873A (en) * | 2010-06-11 | 2011-12-14 | 微软公司 | Unified concurrent changes to data, schema, and application |
| CN102752273A (en) * | 2011-04-22 | 2012-10-24 | 中兴通讯股份有限公司 | Method and system for sharing Sh interface service identifiers by multiple application servers, and home subscriber server |
| CN102752273B (en) * | 2011-04-22 | 2017-04-05 | 中兴通讯股份有限公司 | The method and system of the shared Sh interface service identification of many application servers, HSS |
| CN103218378A (en) * | 2012-01-19 | 2013-07-24 | 阿尔卡特朗讯 | Method for carrying out database operation based on complicated logic on basis of LDAP (lightweight directory access protocol) |
| CN108140053A (en) * | 2015-10-23 | 2018-06-08 | 甲骨文国际公司 | Pluggable database lock configuration file |
| CN106843984A (en) * | 2017-02-13 | 2017-06-13 | 东软集团股份有限公司 | The update method and device of application database |
| CN109710673A (en) * | 2018-12-25 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | Work processing methods, devices, equipment and media |
| CN109710673B (en) * | 2018-12-25 | 2022-11-25 | 百度在线网络技术(北京)有限公司 | Work processing method, device, equipment and medium |
| CN112788658A (en) * | 2019-11-11 | 2021-05-11 | 鹤壁天海电子信息系统有限公司 | Data sharing method of communication equipment, communication equipment and storage medium |
| CN112788658B (en) * | 2019-11-11 | 2024-05-24 | 鹤壁天海电子信息系统有限公司 | Data sharing method of communication equipment, communication equipment and storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4495137B2 (en) | Service broker integration layer to support telecommunications client service requests | |
| CN110351111B (en) | Subscription processing method, network node and user database | |
| AU2008350306B2 (en) | Targeted queries using an OMA DM protocol | |
| JP5400305B2 (en) | Method, apparatus, and computer program for improving expression processing | |
| CN101685460A (en) | Database device, method and system for processing shared data | |
| US8051136B2 (en) | Optimizing a presence enabled managed service | |
| US20110214051A1 (en) | Methods and apparatus to subscribe for change notifications in a document management system | |
| CN102694824B (en) | User data storage system and data access method thereof | |
| CN115567388B (en) | Network slicing configuration automatic update method, system, device and storage medium | |
| WO2009127136A1 (en) | A method and device for notifying user data subscription | |
| CN108366356A (en) | The interoperability methods and device of M2M systems and identification (RNC-ID) analytic system | |
| CN112565220A (en) | HTTP service gateway implementation method based on state network isolation device safety | |
| CN102111438A (en) | Method and device for parameter adjustment and distributed computation platform system | |
| JP2025515688A (en) | Method and apparatus for making a connector | |
| JP2004007677A (en) | Method and configuration in telecommunication network | |
| KR20100003501A (en) | Method for controlling user setting information in a xml configuration access protocol technique and system therefor | |
| CN115499421A (en) | Micro-service architecture mode based on three-layer architecture | |
| CN106603637A (en) | Inter-heterogeneous gridding management platform data exchange method and system | |
| CN110071945B (en) | Subscription method and device for user data and computer readable storage medium | |
| KR101454415B1 (en) | Method and apparatus for processing common business support in mobile communication system | |
| CN118474173A (en) | Configuration information processing method and electronic device | |
| CN116566828A (en) | Service arrangement realization method, system, electronic equipment and medium | |
| CN105574125A (en) | Bulk addition and deletion operation realizing method of catalog entries based on LDAPV3 expansion operation | |
| US20200382461A1 (en) | Managing specialized objects in a message store | |
| CN116962459A (en) | Equipment collaborative scheduling method, device, equipment and computer program product |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C12 | Rejection of a patent application after its publication | ||
| RJ01 | Rejection of invention patent application after publication |
Open date: 20100331 |